|
@@ -34,6 +34,17 @@ import java.util.Date;
|
34
|
34
|
*/
|
35
|
35
|
public class SimpleNickInUseHandler implements NickInUseListener {
|
36
|
36
|
|
|
37
|
+ @SuppressWarnings("TypeMayBeWeakened")
|
|
38
|
+ public static void install(final IRCParser parser, final String altNickname) {
|
|
39
|
+ install(parser, altNickname, '_');
|
|
40
|
+ }
|
|
41
|
+
|
|
42
|
+ @SuppressWarnings("TypeMayBeWeakened")
|
|
43
|
+ public static void install(final IRCParser parser, final String altNickname, final char prependChar) {
|
|
44
|
+ parser.getCallbackManager()
|
|
45
|
+ .addCallback(NickInUseListener.class, new SimpleNickInUseHandler(altNickname, prependChar));
|
|
46
|
+ }
|
|
47
|
+
|
37
|
48
|
private final String altNickname;
|
38
|
49
|
private final char prependChar;
|
39
|
50
|
private boolean triedAlt;
|
|
@@ -53,7 +64,8 @@ public class SimpleNickInUseHandler implements NickInUseListener {
|
53
|
64
|
// nick as-is
|
54
|
65
|
if (triedAlt) {
|
55
|
66
|
final String magicAltNick = prependChar + ircParser.getMyInfo().getNickname();
|
56
|
|
- if (parser.getStringConverter().equalsIgnoreCase(ircParser.thinkNickname, altNickname)
|
|
67
|
+ if (parser.getStringConverter().equalsIgnoreCase(ircParser.thinkNickname,
|
|
68
|
+ altNickname)
|
57
|
69
|
&& !altNickname.equalsIgnoreCase(magicAltNick)) {
|
58
|
70
|
ircParser.thinkNickname = ircParser.getMyInfo().getNickname();
|
59
|
71
|
}
|