Skip to content

feat: Refactor screen compatibility to <supports-screens>#69

Merged
irhsm merged 1 commit into
mainfrom
feat/pivot-to-supports-screens
May 20, 2025
Merged

feat: Refactor screen compatibility to <supports-screens>#69
irhsm merged 1 commit into
mainfrom
feat/pivot-to-supports-screens

Conversation

@mirhasalh

Copy link
Copy Markdown
Contributor

This commit refactors how our application declares its supported screen sizes within the Android Manifest. We are moving away from the less flexible and more error-prone tag to the recommended element.

Key changes:

  • Removed existing entries.
  • Added a tag within the block.

Configuration for Phone-Only Targeting:

  • android:smallScreens="true": Enables support for small phone screens.
  • android:normalScreens="true": Enables support for typical smartphone screens.
  • android:largeScreens="false": Explicitly filters out 7-inch tablet-sized devices from Play Store distribution.
  • android:xlargeScreens="false": Explicitly filters out 10-inch+ tablet-sized devices from Play Store distribution.
  • android:anyDensity="true" and android:resizeable="true" are maintained for broader density support and general responsiveness.

Rationale:
This change provides a clearer and more maintainable way to communicate our app's intended device compatibility to the Google Play Store. It simplifies future updates, as extending support to tablets will only require changing a few boolean flags rather than exhaustively listing screen configurations. This also aligns our project with current Android development best practices for screen management.

This commit refactors how our application declares its supported screen
sizes within the Android Manifest. We are moving away from the less
flexible and more error-prone <compatible-screens> tag to the
recommended <supports-screens> element.

**Key changes:**
- Removed existing <compatible-screens> entries.
- Added a <supports-screens> tag within the <application> block.

**Configuration for Phone-Only Targeting:**
- `android:smallScreens="true"`: Enables support for small phone
screens.
- `android:normalScreens="true"`: Enables support for typical smartphone
screens.
- `android:largeScreens="false"`: Explicitly filters out 7-inch
tablet-sized devices from Play Store distribution.
- `android:xlargeScreens="false"`: Explicitly filters out 10-inch+
tablet-sized devices from Play Store distribution.
- `android:anyDensity="true"` and `android:resizeable="true"` are
maintained for broader density support and general responsiveness.

**Rationale:**
This change provides a clearer and more maintainable way to communicate
our app's intended device compatibility to the Google Play Store. It
simplifies future updates, as extending support to tablets will only
require changing a few boolean flags rather than exhaustively listing
screen configurations. This also aligns our project with current Android
development best practices for screen management.
@mirhasalh
mirhasalh requested a review from irhsm May 20, 2025 05:24
@mirhasalh mirhasalh self-assigned this May 20, 2025
@irhsm
irhsm merged commit 2a82fb1 into main May 20, 2025
@irhsm
irhsm deleted the feat/pivot-to-supports-screens branch June 2, 2025 22:34
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.

2 participants