]> nmode's Git Repositories - signal-cli/blob - src/main/java/org/asamk/signal/commands/SetProfileAvatarCommand.java
Add commands to update profile name and avatar
[signal-cli] / src / main / java / org / asamk / signal / commands / SetProfileAvatarCommand.java
1 package org.asamk.signal.commands;
2
3 import java.io.IOException;
4 import java.io.File;
5
6 import net.sourceforge.argparse4j.impl.Arguments;
7 import net.sourceforge.argparse4j.inf.Namespace;
8 import net.sourceforge.argparse4j.inf.Subparser;
9 import org.asamk.signal.manager.Manager;
10
11 public class SetProfileAvatarCommand implements LocalCommand {
12
13 @Override
14 public void attachToSubparser(final Subparser subparser) {
15 subparser.addArgument("avatar")
16 .help("Path to new profile avatar");
17 subparser.help("Set the avatar for this profile");
18 }
19
20 @Override
21 public int handleCommand(final Namespace ns, final Manager m) {
22 if (!m.isRegistered()) {
23 System.err.println("User is not registered.");
24 return 1;
25 }
26
27 String avatarPath = ns.getString("avatar");
28 File avatarFile = new File(avatarPath);
29
30 try {
31 m.setProfileAvatar(avatarFile);
32 } catch (IOException e) {
33 System.err.println("UpdateAccount error: " + e.getMessage());
34 return 3;
35 }
36
37 return 0;
38 }
39
40 }