SnapshotParser не работает так же в версии Release, как в Debug - PullRequest
0 голосов
/ 03 декабря 2018

У меня проблема с запуском приложения в режиме релиза.Все данные для моего объекта Workshop возвращаются правильно, кроме списка пользователей Map.Тот же код выполняется без каких-либо проблем в режиме отладки.

  • Я отключил Proguard с помощью false для useProguard и false для minifyEnabled.Проблема все еще существует.
  • Я добавил аннотацию @Keep в свои модули Workshop и User.Проблема по-прежнему существует.

Я получаю свой список пользователей с парсером моментальных снимков, как показано ниже:

FirebaseRecyclerOptions<Workshop> options =
        new FirebaseRecyclerOptions.Builder<Workshop>()
                .setQuery(query, new SnapshotParser<Workshop>() {
                    @NonNull
                    @Override
                    public Workshop parseSnapshot(@NonNull DataSnapshot snapshot) {
                        GenericTypeIndicator<Workshop> t = new GenericTypeIndicator<Workshop>() {
                        };
                        Workshop workshop = snapshot.getValue(t);
                        return workshop;
                    }
                })
                .build();

Это мой модуль Мастерской:

    @Keep
public class Workshop implements Serializable {

    private String date;
    private String time;
    private String description;
    private String name;
    private String address;
    private String city;
    Map<String, User> users = new HashMap<>();

    // empty constructor for firebase
    public Workshop() {
    }

    public Workshop(String date, String time, String description, String name, String address, String city,
                       Map<String, User> users) {
        this.date = date;
        this.time = time;
        this.description = description;
        this.name = name;
        this.address = address;
        this.city = city;
        this.users = users;
    }

    public Workshop(String date, String time, String description, String name, String address, String city) {
        this.date = date;
        this.time = time;
        this.description = description;
        this.name = name;
        this.address = address;
        this.city = city;
    }
...