Skip to content

Commit 53a38f6

Browse files
The412Bannerclaude
andcommitted
feat: replace store game detail dialogs with full-screen activities
Replace the showDetailDialog() AlertDialog popups in GOG, Epic, and Amazon store activities with dedicated full-screen detail Activities. Changes: - Add GogGameDetailActivity.java: full-screen GOG game detail with dark purple theme, cover art, info card (gen badge, developer, genre, description), actions card (install/uninstall/set-exe/copy/launch), and stubs for Updates, DLC, Cloud Saves sections - Add EpicGameDetailActivity.java: full-screen Epic game detail with dark blue theme, inline Epic pipeline (token → manifest → download), actions card with progress tracking - Add AmazonGameDetailActivity.java: full-screen Amazon game detail with dark amber theme, AmazonDownloadManager pipeline, exe scoring - Modify GogGamesActivity: replace showDetailDialog() calls (list card click + grid tile long-press) with openDetailScreen() + startActivityForResult(REQ_GAME_DETAIL=1001); add onActivityResult() that calls applyFilter() on RESULT_REFRESH=100 - Modify EpicGamesActivity: same replacement pattern - Modify AmazonGamesActivity: same replacement pattern - Register all 3 new activities in patches/AndroidManifest.xml Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
1 parent 5495290 commit 53a38f6

8 files changed

Lines changed: 1680 additions & 33 deletions

PROGRESS_LOG.md

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,26 @@ Tracks every commit, patch, and change applied to the GameHub 5.3.5 ReVanced APK
44

55
---
66

7+
### [pre] — v3.0.1-pre — Game detail full-screen (GOG/Epic/Amazon) (2026-04-14)
8+
**Commit:** pending | **Tag:** v3.0.1-pre
9+
**CI:** pending
10+
#### What changed
11+
- Replace showDetailDialog() AlertDialog in all 3 stores with full-screen GogGameDetailActivity / EpicGameDetailActivity / AmazonGameDetailActivity
12+
- Full-screen layout: fixed header bar, scrollable body with cover art, info section, actions section, stub sections for Updates/DLC/Cloud Saves
13+
- startActivityForResult() + onActivityResult() in each store activity to refresh card state on return
14+
- 3 new activities registered in patches/AndroidManifest.xml
15+
- Quick build: pre-release uses com.tencent.ig package + "BannerHub PuBG" label
16+
#### Files touched
17+
- extension/GogGameDetailActivity.java (new)
18+
- extension/EpicGameDetailActivity.java (new)
19+
- extension/AmazonGameDetailActivity.java (new)
20+
- extension/GogGamesActivity.java
21+
- extension/EpicGamesActivity.java
22+
- extension/AmazonGamesActivity.java
23+
- patches/AndroidManifest.xml
24+
25+
---
26+
727
### [stable] — v3.0.0 — Stable release (2026-04-14)
828
**Commit:** `19c6092d8` | **Tag:** v3.0.0
929
**CI:** run 24378413220 ✅

extension/AmazonGameDetailActivity.java

Lines changed: 516 additions & 0 deletions
Large diffs are not rendered by default.

extension/AmazonGamesActivity.java

Lines changed: 26 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
import android.app.Activity;
44
import android.app.AlertDialog;
5+
import android.content.Intent;
56
import android.content.SharedPreferences;
67
import android.graphics.Bitmap;
78
import android.graphics.BitmapFactory;
@@ -50,6 +51,7 @@ public class AmazonGamesActivity extends Activity {
5051
private static final String PREFS_NAME = "bh_amazon_prefs";
5152
private static final String CACHE_KEY = "amazon_library_cache";
5253
private static final String VIEW_MODE_KEY = "amazon_view_mode";
54+
private static final int REQ_GAME_DETAIL = 1001;
5355

5456
// Amazon brand colours
5557
private static final int COLOR_ACCENT = 0xFFFF9900; // orange — install btn / title
@@ -598,12 +600,7 @@ private void addGameCard(AmazonGame game) {
598600

599601
card.setOnClickListener(v -> {
600602
if (expandSection.getVisibility() == View.VISIBLE) {
601-
showDetailDialog(game, checkmark, actionBtn, () -> {
602-
checkmark.setVisibility(View.GONE);
603-
collapsedCheckTV.setVisibility(View.GONE);
604-
actionBtn.setText("Install");
605-
actionBtn.setBackgroundColor(COLOR_ACCENT);
606-
});
603+
openDetailScreen(game);
607604
} else {
608605
if (expandedSection != null) {
609606
expandedSection.setVisibility(View.GONE);
@@ -813,11 +810,7 @@ private View makeGridTile(AmazonGame game, int artHeightDp) {
813810
});
814811

815812
tile.setOnLongClickListener(v -> {
816-
showDetailDialog(game, checkTV, actionBtn, () -> {
817-
checkTV.setVisibility(View.GONE);
818-
actionBtn.setText("Install");
819-
actionBtn.setBackgroundColor(COLOR_ACCENT);
820-
});
813+
openDetailScreen(game);
821814
return true;
822815
});
823816

@@ -995,6 +988,28 @@ private void showInstallConfirm(AmazonGame game, Runnable onConfirm) {
995988
}
996989
}
997990

991+
// ── Full-screen detail ────────────────────────────────────────────────────
992+
993+
private void openDetailScreen(AmazonGame game) {
994+
Intent intent = new Intent(this, AmazonGameDetailActivity.class);
995+
intent.putExtra("product_id", game.productId);
996+
intent.putExtra("entitlement_id", game.entitlementId);
997+
intent.putExtra("title", game.title);
998+
intent.putExtra("developer", game.developer);
999+
intent.putExtra("publisher", game.publisher);
1000+
intent.putExtra("art_url", game.artUrl);
1001+
intent.putExtra("product_sku", game.productSku);
1002+
startActivityForResult(intent, REQ_GAME_DETAIL);
1003+
}
1004+
1005+
@Override
1006+
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
1007+
super.onActivityResult(requestCode, resultCode, data);
1008+
if (requestCode == REQ_GAME_DETAIL && resultCode == AmazonGameDetailActivity.RESULT_REFRESH) {
1009+
applyFilter(searchBar != null ? searchBar.getText().toString() : "");
1010+
}
1011+
}
1012+
9981013
private void showDetailDialog(AmazonGame game, View checkmark, Button actionBtn, Runnable onUninstalled) {
9991014
LinearLayout container = new LinearLayout(this);
10001015
container.setOrientation(LinearLayout.VERTICAL);

0 commit comments

Comments
 (0)