Skip to content

Commit b9c369a

Browse files
committed
fix: recursive calls
1 parent a7796ac commit b9c369a

2 files changed

Lines changed: 18 additions & 14 deletions

File tree

app/src/main/java/medev/gabreek/flyffucommander/ClientManager.java

Lines changed: 4 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@ public class ClientManager {
3737
private final FloatingActionButton floatingActionButton;
3838
private final ActionButtonManager actionButtonManager;
3939
private final WebViewCreator webViewCreator;
40+
private final Function<Integer, String> clientDisplayNameProvider;
4041
private final Consumer<String> titleSetter;
4142
private final Supplier<Integer> screenHeightProvider;
4243
private final Supplier<Integer> screenWidthProvider;
@@ -49,7 +50,7 @@ public interface WebViewCreator {
4950
public ClientManager(Context context, SparseArray<WebView> webViews, SparseArray<FrameLayout> layouts,
5051
TinyDB appTinyDB, Set<Integer> configuredClientIds, LinearLayout linearLayout,
5152
FloatingActionButton floatingActionButton, ActionButtonManager actionButtonManager,
52-
WebViewCreator webViewCreator,
53+
WebViewCreator webViewCreator, Function<Integer, String> clientDisplayNameProvider,
5354
Consumer<String> titleSetter, Supplier<Integer> screenHeightProvider, Supplier<Integer> screenWidthProvider) {
5455
this.context = context;
5556
this.webViews = webViews;
@@ -60,6 +61,7 @@ public ClientManager(Context context, SparseArray<WebView> webViews, SparseArray
6061
this.floatingActionButton = floatingActionButton;
6162
this.actionButtonManager = actionButtonManager;
6263
this.webViewCreator = webViewCreator;
64+
this.clientDisplayNameProvider = clientDisplayNameProvider;
6365
this.titleSetter = titleSetter;
6466
this.screenHeightProvider = screenHeightProvider;
6567
this.screenWidthProvider = screenWidthProvider;
@@ -204,18 +206,7 @@ public List<Integer> getExistingClientIdsFromFileSystem() {
204206
}
205207

206208
public String getClientDisplayName(int id) {
207-
switch (id) {
208-
case Constants.WIKI_CLIENT_ID:
209-
return "Wiki";
210-
case Constants.MADRIGAL_CLIENT_ID:
211-
return "Madrigal";
212-
case Constants.FLYFFULATOR_CLIENT_ID:
213-
return "Flyffulator";
214-
case Constants.FLYFFUSKILL_CLIENT_ID:
215-
return "FlyffuSkill";
216-
default:
217-
return "Client " + id;
218-
}
209+
return clientDisplayNameProvider.apply(id);
219210
}
220211

221212
public void createNewClient() {

app/src/main/java/medev/gabreek/flyffucommander/MainActivity.java

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -139,7 +139,20 @@ protected void onCreate(Bundle savedInstanceState) {
139139
displayUtils = new DisplayUtils(this);
140140
keyDispatcher = new KeyDispatcher(this, webViews, clientActionButtonsData, fabViewToActionDataMap);
141141
actionButtonManager = new ActionButtonManager(this, rootContainer, clientActionButtonsData, fabViewToActionDataMap, appTinyDB, displayUtils, keyDispatcher, areActionButtonsPositionsFixed, this::getClientDisplayName, this::getWebViews);
142-
clientManager = new ClientManager(this, webViews, layouts, appTinyDB, configuredClientIds, linearLayout, floatingActionButton, actionButtonManager, this::createWebViewer, this::setTitle, this::getScreenHeight, this::getScreenWidth);
142+
clientManager = new ClientManager(this, webViews, layouts, appTinyDB, configuredClientIds, linearLayout, floatingActionButton, actionButtonManager, this::createWebViewer, id -> {
143+
switch (id) {
144+
case Constants.WIKI_CLIENT_ID:
145+
return "Wiki";
146+
case Constants.MADRIGAL_CLIENT_ID:
147+
return "Madrigal";
148+
case Constants.FLYFFULATOR_CLIENT_ID:
149+
return "Flyffulator";
150+
case Constants.FLYFFUSKILL_CLIENT_ID:
151+
return "FlyffuSkill";
152+
default:
153+
return "Client " + id;
154+
}
155+
}, this::setTitle, this::getScreenHeight, this::getScreenWidth);
143156
fabMovementHandler = new FabMovementHandler(screenWidth, screenHeight);
144157
backupManager = new BackupManager(this, gson, clientActionButtonsData, () -> actionButtonManager.refreshAllActionButtonsDisplay(isActionButtonsVisible, fabHideShow, activeClientId));
145158

0 commit comments

Comments
 (0)