From 2b36587af72fec44b949e27670b85982064009c5 Mon Sep 17 00:00:00 2001 From: JosJuice Date: Sun, 26 Jun 2022 11:09:10 +0200 Subject: [PATCH 1/2] Android: Add app link intent URI to channels projection This a proper fix for https://bugs.dolphin-emu.org/issues/12561, which was previously fixed by a hackfix in 98bdf3b1ce. --- .../main/java/org/dolphinemu/dolphinemu/utils/TvUtil.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/utils/TvUtil.java b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/utils/TvUtil.java index 8a4b589444..418bdfb5b7 100644 --- a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/utils/TvUtil.java +++ b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/utils/TvUtil.java @@ -50,8 +50,9 @@ public class TvUtil private static final String[] CHANNELS_PROJECTION = { TvContractCompat.Channels._ID, - TvContract.Channels.COLUMN_DISPLAY_NAME, - TvContractCompat.Channels.COLUMN_BROWSABLE + TvContractCompat.Channels.COLUMN_DISPLAY_NAME, + TvContractCompat.Channels.COLUMN_BROWSABLE, + TvContractCompat.Channels.COLUMN_APP_LINK_INTENT_URI }; private static final String LEANBACK_PACKAGE = "com.google.android.tvlauncher"; From 1d772176a24f25de7487b4f52883da4409079931 Mon Sep 17 00:00:00 2001 From: JosJuice Date: Sun, 26 Jun 2022 09:24:19 +0200 Subject: [PATCH 2/2] Revert "Partially revert "Android: Clean up hardcoded platform names"" This reverts commit 98bdf3b1ceae94a35e3f47158966967d1c947d99. --- .../dolphinemu/services/SyncChannelJobService.java | 2 +- .../dolphinemu/services/SyncProgramsJobService.java | 3 ++- .../java/org/dolphinemu/dolphinemu/utils/TvUtil.java | 12 +++++------- 3 files changed, 8 insertions(+), 9 deletions(-) diff --git a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/services/SyncChannelJobService.java b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/services/SyncChannelJobService.java index 48af4e4f4d..2e11049ab2 100644 --- a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/services/SyncChannelJobService.java +++ b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/services/SyncChannelJobService.java @@ -87,7 +87,7 @@ public class SyncChannelJobService extends JobService } else { - subscriptions = TvUtil.createUniversalSubscriptions(); + subscriptions = TvUtil.createUniversalSubscriptions(context); for (HomeScreenChannel subscription : subscriptions) { long channelId = createChannel(subscription); diff --git a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/services/SyncProgramsJobService.java b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/services/SyncProgramsJobService.java index c789084343..62d9bfce30 100644 --- a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/services/SyncProgramsJobService.java +++ b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/services/SyncProgramsJobService.java @@ -98,7 +98,8 @@ public class SyncProgramsJobService extends JobService Channel channel = TvUtil.getChannelById(context, channelId); for (Platform platform : Platform.values()) { - if (channel != null && channel.getDisplayName().equals(platform.getIdString())) + if (channel != null && + channel.getAppLinkIntentUri().equals(AppLinkHelper.buildBrowseUri(platform))) { getGamesByPlatform(platform); syncPrograms(channelId); diff --git a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/utils/TvUtil.java b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/utils/TvUtil.java index 418bdfb5b7..164463cb50 100644 --- a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/utils/TvUtil.java +++ b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/utils/TvUtil.java @@ -254,21 +254,19 @@ public class TvUtil /** * Generates all subscriptions for homescreen channels. */ - public static List createUniversalSubscriptions() + public static List createUniversalSubscriptions(Context context) { - return new ArrayList<>(createPlatformSubscriptions()); + return new ArrayList<>(createPlatformSubscriptions(context)); } - private static List createPlatformSubscriptions() + private static List createPlatformSubscriptions(Context context) { List subs = new ArrayList<>(); for (Platform platform : Platform.values()) { - // TODO: Replace the getIdString calls with getHeaderName to get localized names. - // This would require SyncProgramsJobService to stop using the display name as a key subs.add(new HomeScreenChannel( - platform.getIdString(), - platform.getIdString(), + context.getString(platform.getHeaderName()), + context.getString(platform.getHeaderName()), AppLinkHelper.buildBrowseUri(platform))); } return subs;