1 /*
2  * Copyright (C) 2021 Finn Herzfeld
3  *
4  * This program is free software: you can redistribute it and/or modify
5  * it under the terms of the GNU General Public License as published by
6  * the Free Software Foundation, either version 3 of the License, or
7  * (at your option) any later version.
8  *
9  * This program is distributed in the hope that it will be useful,
10  * but WITHOUT ANY WARRANTY; without even the implied warranty of
11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
12  * GNU General Public License for more details.
13  *
14  * You should have received a copy of the GNU General Public License
15  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
16  */
17 
18 package io.finn.signald.clientprotocol.v0;
19 
20 import io.finn.signald.annotations.Deprecated;
21 import java.util.ArrayList;
22 import java.util.List;
23 import org.whispersystems.signalservice.api.messages.multidevice.BlockedListMessage;
24 import org.whispersystems.signalservice.api.push.SignalServiceAddress;
25 import org.whispersystems.util.Base64;
26 
27 @Deprecated(1641027661)
28 public class JsonBlockedListMessage {
29   public List<JsonAddress> addresses;
30   public List<String> groupIds;
JsonBlockedListMessage(BlockedListMessage blocklist)31   public JsonBlockedListMessage(BlockedListMessage blocklist) {
32     if (!blocklist.getAddresses().isEmpty()) {
33       addresses = new ArrayList<>();
34       for (SignalServiceAddress a : blocklist.getAddresses()) {
35         addresses.add(new JsonAddress(a));
36       }
37     }
38 
39     if (!blocklist.getGroupIds().isEmpty()) {
40       groupIds = new ArrayList<>();
41       for (byte[] groupId : blocklist.getGroupIds()) {
42         groupIds.add(Base64.encodeBytes(groupId));
43       }
44     }
45   }
46 }
47