Лучшая практика для того, чтобы сделать сторонние классы пригодными для продажи? - PullRequest
0 голосов
/ 17 сентября 2018

Я использую стороннее решение для push-уведомлений (в частности, класс RichPushMessage из библиотеки push-уведомлений Urban Airship). Я создал пакет для передачи, содержащий поле RichPushMessage. Мне нужно это реализовать Parcelable. Я не могу подкласс RichPushMessage, поскольку его конструктор является частным. Как лучше сделать этот класс пригодным для продажи?

1 Ответ

0 голосов
/ 25 октября 2018

Даже если бы вы могли создать его подкласс, вы не смогли бы создать RichPushMessage, так как он обрабатывается SDK Urban Airship.

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

1) Сохраните идентификатор сообщения в пакете:

// Put it into the bundle
Bundle bundle = new Bundle();
bundle.putString(MESSAGE_ID_KEY, message.getMessageId());

// Pull it out of the bundle
String messageId = bundle.getString(MESSAGE_ID_KEY);
RichPushMessage message = UAirship.shared().getInbox().getMessage(messageId);

2) Создайте класс, который упаковывает RichPushMessage, который вы можете сделать parcelable

...