VoIpUSSD icon indicating copy to clipboard operation
VoIpUSSD copied to clipboard

Following the popup

Open alanEG opened this issue 8 months ago • 1 comments

Is your feature request related to a problem? Please describe.

....

public class USSDMange {
    private USSDApi ussdApi;
    private HashMap<String, HashSet<String>> map;

    void lanuchCall(String number, USSDApi context){
        map = new HashMap<>();
        map.put("KEY_LOGIN", new HashSet<>(Arrays.asList("espere", "waiting", "loading", "esperando")));
        map.put("KEY_ERROR", new HashSet<>(Arrays.asList("problema", "problem", "error", "null")));
        ussdApi = context;

        USSDApi ussdApi = context;
        ussdApi.callUSSDInvoke(number, map, new USSDController.CallbackInvoke() {
            @Override
            public void responseInvoke(String message) {
                ussdApi.send("0",new USSDController.CallbackMessage(){
                    @Override
                    public void responseMessage(String message) {
                        Log.d("responseMessage",message);
                        ussdApi.send("1",new USSDController.CallbackMessage(){
                            @Override
                            public void responseMessage(String message) {
                                Log.d("responseMessage",message);
                                ussdApi.send("1",new USSDController.CallbackMessage(){
                                    @Override
                                    public void responseMessage(String message) {
                                        Log.d("responseMessage",message);
                                        ussdApi.send("1",new USSDController.CallbackMessage(){
                                            @Override
                                            public void responseMessage(String message) {
                                                Log.d("responseMessage",message);
                                                ussdApi.send("1",new USSDController.CallbackMessage(){
                                                    @Override
                                                    public void responseMessage(String message) {
                                                        Log.d("responseMessage",message);
                                                        ussdApi.send("1",new USSDController.CallbackMessage(){
                                                            @Override
                                                            public void responseMessage(String message) {
                                                                Log.d("responseMessage",message);
                                                                ussdApi.send("2",new USSDController.CallbackMessage(){
                                                                    @Override
                                                                    public void responseMessage(String message) {
                                                                        Log.d("responseMessage",message);
                                                                    }
                                                                });
                                                            }
                                                        });
                                                    }
                                                });
                                            }
                                        });
                                    }
                                });
                            }
                        });

                    }
                });
            }

            @Override
            public void over(String message) {
                Log.d("Over",message);
            }
        });
    }
}

Hi.

I am trying to automate some tasks, but doing it in this nested way is making it hard because the data is dynamic and depends on the response. Additionally, the number of nested messages varies for each option, making it very difficult to complete tasks efficiently. I think there better way todo that instead of using nested callbacks.

Describe the solution you'd like ....

Describe alternatives you've considered ....

Additional context ....

alanEG avatar Jun 13 '24 18:06 alanEG