Skip to content

Conversation

@tristanjung1006
Copy link
Contributor

@tristanjung1006 tristanjung1006 commented Apr 1, 2025

#️⃣연관된 이슈

📝작업 내용

앱 출시 후 테스트를 할 때 기기에 개발용 앱이 필요할 것 같아서 디버그, 릴리즈용으로 분리함
firebase를 사용하므로 google-services의 패키지구조에서 debug 전용 패키지 구조로 변경함
keystore는 우선 디버그, 릴리즈용을 하나로 통일해서 관리함
디버그 버전은 투유블랙이라고 정하고 릴리즈 버전은 원래 그대로 투유라고 정함

스크린샷 (선택)

image

Summary by CodeRabbit

  • New Features

    • App Insights 설정에서 기본 "Firebase Crashlytics" 탭이 적용되어 보다 직관적인 환경 제공.
    • 앱 아이콘, 이름, 및 라운드 아이콘이 동적 구성이 도입되어 빌드별 맞춤 UI가 구현되었습니다.
    • 디버그 빌드를 위한 새로운 적응형 아이콘, 색상, 그리고 앱 이름(투유블랙)이 추가되었습니다.
  • Chores

    • 릴리즈와 디버그 빌드의 서명 및 구성 설정이 개선되어 전반적인 빌드 관리 효율성이 향상되었습니다.

@tristanjung1006 tristanjung1006 self-assigned this Apr 1, 2025
@coderabbitai
Copy link

coderabbitai bot commented Apr 1, 2025

Walkthrough

이번 PR에서는 여러 설정 파일에 변경사항이 적용되었습니다. IDE 설정 파일에 App Insights의 기본 탭으로 "Firebase Crashlytics"가 지정되었으며, Gradle 빌드 스크립트에 새로운 release 서명 구성과 함께 release 및 debug 빌드 타입의 설정(디버그 여부, manifest 플레이스홀더, applicationIdSuffix, versionNameSuffix 등)이 추가·수정되었습니다. 또한, 디버그 전용 google‑services.json 파일과 AndroidManifest.xml에서 동적 리소스 플레이스홀더를 사용하는 변경, 그리고 디버그용 adaptive 아이콘, 배경 색상, 앱 이름 문자열 리소스가 추가되었습니다.

Changes

File(s) 변경 요약
.idea/appInsightsSettings.xml <component name="AppInsightsSettings"> 내에 <option name="selectedTabId" value="Firebase Crashlytics" /> 추가
app/build.gradle.kts 새로운 release 서명 구성 추가 및 release (isDebuggable=false, manifestPlaceholders 설정)와 debug 빌드 타입 (isDebuggable=true, manifestPlaceholders, applicationIdSuffix, versionNameSuffix 설정) 수정
app/src/debug/google-services.json 디버그 전용 google‑services.json 파일 추가 (프로젝트 및 클라이언트 설정 포함)
app/src/main/AndroidManifest.xml <application> 태그의 아이콘, 라벨, roundIcon 속성을 동적 플레이스홀더(${appIcon}, ${appName}, ${roundAppIcon})로 변경, MainActivity의 android:label 속성 제거
app/src/main/res/mipmap-anydpi-v26/*, app/src/main/res/values/ic_toyou_debug_background.xml, app/src/main/res/values/strings.xml 디버그용 adaptive 아이콘 XML 파일(ic_toyou_debug.xml, ic_toyou_debug_round.xml), 배경 색상 리소스, 그리고 디버그 앱 이름 문자열(<string name="app_name_debug">투유블랙</string>) 추가

Assessment against linked issues

Objective (이슈) Addressed Explanation
앱 테스트를 위해 debug/release 모드를 다른 아이콘으로 구분 (#107)
✨ Finishing Touches
  • 🔥 Error while generating docstrings. (🔄 Check again to generate docstrings again)

🪧 Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    • I pushed a fix in commit <commit_id>, please review it.
    • Generate unit testing code for this file.
    • Open a follow-up GitHub issue for this discussion.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query. Examples:
    • @coderabbitai generate unit testing code for this file.
    • @coderabbitai modularize this function.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.
    • @coderabbitai read src/utils.ts and generate unit testing code.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.
    • @coderabbitai help me debug CodeRabbit configuration file.

Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments.

CodeRabbit Commands (Invoked using PR comments)

  • @coderabbitai pause to pause the reviews on a PR.
  • @coderabbitai resume to resume the paused reviews.
  • @coderabbitai review to trigger an incremental review. This is useful when automatic reviews are disabled for the repository.
  • @coderabbitai full review to do a full review from scratch and review all the files again.
  • @coderabbitai summary to regenerate the summary of the PR.
  • @coderabbitai generate docstrings to generate docstrings for this PR.
  • @coderabbitai resolve resolve all the CodeRabbit review comments.
  • @coderabbitai plan to trigger planning for file edits and PR creation.
  • @coderabbitai configuration to show the current CodeRabbit configuration for the repository.
  • @coderabbitai help to get help.

Other keywords and placeholders

  • Add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.
  • Add @coderabbitai summary to generate the high-level summary at a specific location in the PR description.
  • Add @coderabbitai anywhere in the PR title to generate the title automatically.

CodeRabbit Configuration File (.coderabbit.yaml)

  • You can programmatically configure CodeRabbit by adding a .coderabbit.yaml file to the root of your repository.
  • Please see the configuration documentation for more information.
  • If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: # yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json

Documentation and Community

  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🧹 Nitpick comments (1)
app/build.gradle.kts (1)

18-21: 검토: signingConfigs 블록 구성
릴리즈 서명 구성을 위한 signingConfigs 블록이 추가되었으나, 현재 해당 블록이 비어 있습니다. 향후 릴리즈 키스토어 설정을 진행할 계획이라면, 관련 주석이나 TODO를 추가해두면 좋겠습니다.

📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 5f991a9 and 5cae5ca.

⛔ Files ignored due to path filters (1)
  • app/src/main/ic_toyou_debug-playstore.png is excluded by !**/*.png
📒 Files selected for processing (8)
  • .idea/appInsightsSettings.xml (1 hunks)
  • app/build.gradle.kts (2 hunks)
  • app/src/debug/google-services.json (1 hunks)
  • app/src/main/AndroidManifest.xml (1 hunks)
  • app/src/main/res/mipmap-anydpi-v26/ic_toyou_debug.xml (1 hunks)
  • app/src/main/res/mipmap-anydpi-v26/ic_toyou_debug_round.xml (1 hunks)
  • app/src/main/res/values/ic_toyou_debug_background.xml (1 hunks)
  • app/src/main/res/values/strings.xml (1 hunks)
🧰 Additional context used
🪛 Gitleaks (8.21.2)
app/src/debug/google-services.json

18-18: Uncovered a GCP API key, which could lead to unauthorized access to Google Cloud services and data breaches.

(gcp-api-key)

⏰ Context from checks skipped due to timeout of 90000ms (1)
  • GitHub Check: ci/bitrise/d8a98037-4e20-460c-982d-a2e7e924fabe/pr
🔇 Additional comments (9)
app/src/main/res/values/strings.xml (1)

3-3: 새로운 디버그 앱 이름 문자열 리소스 추가됨

<string name="app_name_debug">투유블랙</string>가 debug 빌드를 위해 적절하게 추가되었습니다.

app/src/main/res/values/ic_toyou_debug_background.xml (1)

1-4: 디버그용 배경 색상 리소스 파일 추가됨

새로운 XML 파일이 올바르게 구성되었으며, #2F2F2E 값이 디버그 아이콘 배경으로 적절히 설정되었습니다.

app/src/main/res/mipmap-anydpi-v26/ic_toyou_debug.xml (1)

1-5: 디버그용 Adaptive Icon 파일 추가됨

adaptive icon 구성이 명확하며, 배경과 포그라운드 리소스가 올바르게 참조되고 있습니다.

.idea/appInsightsSettings.xml (1)

3-5: Firebase Crashlytics 기본 탭 설정 옵션 추가됨

새로운 <option name="selectedTabId" value="Firebase Crashlytics" /> 옵션이 추가되어, AppInsightsSettings에서 기본 탭이 Firebase Crashlytics로 설정됩니다.

app/src/main/res/mipmap-anydpi-v26/ic_toyou_debug_round.xml (1)

1-5: 검토: 새로운 디버그 라운드 아이콘 XML 파일
이 파일은 새로운 adaptive‑icon XML로, 배경에 @color/ic_toyou_debug_background와 전경에 @mipmap/ic_toyou_debug_foreground를 사용하고 있습니다. 아이콘 리소스 관리 측면에서 적절하게 구현되었습니다.

app/src/main/AndroidManifest.xml (2)

12-14: 검토: 동적 아이콘 및 앱 이름 설정 변경
<application> 태그 내에서 android:icon, android:label, android:roundIcon 속성이 정적 리소스에서 동적 placeholder로 변경되었습니다. 빌드 타입에 따른 유연한 리소스 관리가 가능해졌으므로 적절한 수정입니다.


17-20: 검토: 액티비티 레이블 변경
MainActivityandroid:label 속성이 제거되었습니다. 어플리케이션 레벨의 레이블 상속 구조를 활용한 것으로 보이며, 디자인 의도에 부합합니다.

app/build.gradle.kts (2)

39-50: 검토: Release 빌드 타입 설정
release 빌드 타입에서 isDebuggablefalse로 설정되고, manifestPlaceholders를 통해 정적 리소스 대신 동적 리소스를 사용하도록 구성되었습니다. 다만, 릴리즈 서명 구성으로 debug 서명 설정을 사용하고 있는 부분은 통합 키스토어 관리 의도로 보이나, 의도한 변경사항인지 한 번 더 검토해 주시기 바랍니다.


51-59: 검토: Debug 빌드 타입 설정
debug 빌드 타입에서는 isDebuggable, manifestPlaceholders, applicationIdSuffixversionNameSuffix 설정이 명확하게 적용되었습니다. 구성에 문제가 없으며, 변경사항을 승인합니다.

@tristanjung1006 tristanjung1006 merged commit 5e48395 into master Apr 1, 2025
2 of 4 checks passed
@tristanjung1006 tristanjung1006 deleted the setting/#107 branch April 1, 2025 17:33
@coderabbitai
Copy link

coderabbitai bot commented Apr 2, 2025

Caution

No docstrings were generated.

@coderabbitai coderabbitai bot mentioned this pull request Apr 7, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[SETTING] 디버그/릴리즈 버전 구분

2 participants