Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update to 15.6.2 #623

Draft
wants to merge 6 commits into
base: master
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ jobs:
# set env variables
- name: set variables
run: |
echo "APK_URL=https://www.dropbox.com/s/at7p13mfn08k77j/twitch-15.4.1.apk\?\dl=1" >> $GITHUB_ENV
echo "APK_URL=https://www.dropbox.com/s/5ucfad7tsjjbosh/twitch-15.6.2.apk\?\dl=1" >> $GITHUB_ENV

# get keystore.kjs from secret
- name: create keystore.kjs from secret
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
import java.util.List;

import bttv.highlight.Highlight;
import tv.twitch.android.models.chat.MessageToken;
import tv.twitch.chat.library.model.MessageToken;
import tv.twitch.android.models.chomments.ChommentModel;
import tv.twitch.android.shared.chat.pub.model.ChatMessageTokenizerWrapper;
import tv.twitch.android.provider.experiments.ExperimentHelper;
Expand Down
2 changes: 1 addition & 1 deletion mod/app/src/main/java/bttv/SplitChat.java
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@

import bttv.settings.Settings;
import tv.twitch.android.app.core.ThemeManager;
import tv.twitch.android.shared.chat.adapter.item.MessageRecyclerItem.ChatMessageViewHolder;
import tv.twitch.android.shared.chat.adapter.item.ChatMessageViewHolder;
import tv.twitch.android.shared.chat.chomments.ChommentRecyclerItem.ChommentItemViewHolder;
import tv.twitch.android.shared.chat.messagefactory.adapteritem.UserNoticeRecyclerItem.UserNoticeViewHolder;

Expand Down
18 changes: 8 additions & 10 deletions mod/app/src/main/java/bttv/Tokenizer.java
Original file line number Diff line number Diff line change
Expand Up @@ -14,13 +14,11 @@
import bttv.emote.Emotes;
import bttv.highlight.Blacklist;
import bttv.highlight.Highlight;
import tv.twitch.android.models.chat.AutoModMessageFlags;
import tv.twitch.android.models.chat.MessageToken.TextToken;
import tv.twitch.android.models.chat.MessageToken;
import tv.twitch.android.models.chat.MessageToken.EmoticonToken;
import tv.twitch.chat.library.model.MessageToken.TextToken;
import tv.twitch.chat.library.model.MessageToken;
import tv.twitch.chat.library.model.MessageToken.EmoteToken;
import tv.twitch.android.shared.chat.pub.ChatMessageInterface;
import tv.twitch.android.shared.chat.ChatMessageDelegate;
import tv.twitch.chat.AutoModFlags;
import tv.twitch.chat.ChatEmoticonToken;
import tv.twitch.chat.ChatMessageInfo;
import tv.twitch.chat.ChatMessageToken;
Expand All @@ -45,9 +43,9 @@ public static Pair<List<MessageToken>, Boolean> tokenize(List<MessageToken> orig
for (MessageToken token : orig) {
// possible issue: emotes won't work in e.g. MentionToken or BitsToken
if (!(token instanceof TextToken)) {
if (token instanceof EmoticonToken && newTokens.size() > 0) {
if (newTokens.get(newTokens.size() - 1) instanceof EmoticonToken) {
newTokens.add(new TextToken(" ", new AutoModMessageFlags()));
if (token instanceof EmoteToken && newTokens.size() > 0) {
if (newTokens.get(newTokens.size() - 1) instanceof EmoteToken) {
newTokens.add(new TextToken(" ", new tv.twitch.chat.library.model.AutoModFlags(0, 0, 0, 0)));
}
}
newTokens.add(token);
Expand Down Expand Up @@ -79,7 +77,7 @@ public static Pair<List<MessageToken>, Boolean> tokenize(List<MessageToken> orig
if (!before.isEmpty()) {
newTokens.add(new TextToken(currentText.toString(), text.getFlags())); // add everything before Emote as TextToken
}
newTokens.add(new EmoticonToken(word, "BTTV-" + emote.id)); // add Emote
newTokens.add(new EmoteToken(word, "BTTV-" + emote.id)); // add Emote

// prepare next TextToken
currentText.setLength(0);
Expand Down Expand Up @@ -123,7 +121,7 @@ public static void retokenizeLiveChatMessage(ChatMessageInfo info) {
if (prevToken != null && !endsWithSpace(prevToken)) {
ChatTextToken spaceToken = new ChatTextToken();
spaceToken.text = " ";
spaceToken.autoModFlags = new AutoModFlags();
spaceToken.autoModFlags = new tv.twitch.chat.AutoModFlags();
newTokens.add(spaceToken);
}
}
Expand Down
58 changes: 29 additions & 29 deletions mod/app/src/test/java/bttv/mod/TokenizerTest.java
Original file line number Diff line number Diff line change
Expand Up @@ -21,84 +21,84 @@
import bttv.Tokenizer;
import bttv.emote.Emote;
import bttv.emote.Emotes;
import tv.twitch.android.models.chat.AutoModMessageFlags;
import tv.twitch.android.models.chat.MessageToken;
import tv.twitch.chat.library.model.AutoModFlags;
import tv.twitch.chat.library.model.MessageToken;

import static org.junit.Assert.*;
import static org.mockito.Mockito.when;

@RunWith(Parameterized.class)
public class TokenizerTest {
final static AutoModMessageFlags flags = new AutoModMessageFlags();
final static AutoModFlags flags = new AutoModFlags(0, 0, 0, 0);

private static class Cases {
static Object[] TrivialCase = {
// Input
Arrays.asList(new MessageToken.TextToken("Test Message, fam ", flags),
new MessageToken.EmoticonToken("LUL", "123"),
new MessageToken.EmoteToken("LUL", "123"),
new MessageToken.TextToken("Haha", flags)
),
// Expected Output
Arrays.asList(new MessageToken.TextToken("Test Message, fam ", flags),
new MessageToken.EmoticonToken("LUL", "123"),
new MessageToken.EmoteToken("LUL", "123"),
new MessageToken.TextToken("Haha ", flags)
),
};

static Object[] FoundInBeginning = {
// Input
Arrays.asList(new MessageToken.TextToken("KEKW Pog and ", flags),
new MessageToken.EmoticonToken("LUL", "123"),
new MessageToken.EmoteToken("LUL", "123"),
new MessageToken.TextToken("Haha", flags)
),
// Expected Output
Arrays.asList(
new MessageToken.EmoticonToken("KEKW", "BTTV-5ea831f074046462f768097a"),
new MessageToken.EmoteToken("KEKW", "BTTV-5ea831f074046462f768097a"),
new MessageToken.TextToken(" ", flags),
new MessageToken.EmoticonToken("Pog", "BTTV-5ff827395ef7d10c7912c106"),
new MessageToken.EmoteToken("Pog", "BTTV-5ff827395ef7d10c7912c106"),
new MessageToken.TextToken(" and ", flags),
new MessageToken.EmoticonToken("LUL", "123"),
new MessageToken.EmoteToken("LUL", "123"),
new MessageToken.TextToken("Haha ", flags)
),
};

static Object[] FoundAtEnd = {
// Input
Arrays.asList(new MessageToken.TextToken("Test message ", flags),
new MessageToken.EmoticonToken("LUL", "123"),
new MessageToken.EmoteToken("LUL", "123"),
new MessageToken.TextToken("Haha, Pog", flags)
),
// Expected Output
Arrays.asList(
new MessageToken.TextToken("Test message ", flags),
new MessageToken.EmoticonToken("LUL", "123"),
new MessageToken.EmoteToken("LUL", "123"),
new MessageToken.TextToken("Haha, ", flags),
new MessageToken.EmoticonToken("Pog", "BTTV-5ff827395ef7d10c7912c106")
new MessageToken.EmoteToken("Pog", "BTTV-5ff827395ef7d10c7912c106")
)
};

static Object[] FoundInMid = {
// Input
Arrays.asList(
new MessageToken.EmoticonToken("LUL", "123"),
new MessageToken.EmoteToken("LUL", "123"),
new MessageToken.TextToken("Test message ", flags),
new MessageToken.EmoticonToken("LUL", "123"),
new MessageToken.EmoteToken("LUL", "123"),
new MessageToken.TextToken("test Pog test", flags),
new MessageToken.EmoticonToken("LUL", "123"),
new MessageToken.EmoteToken("LUL", "123"),
new MessageToken.TextToken("Haha", flags),
new MessageToken.EmoticonToken("LUL", "123")
new MessageToken.EmoteToken("LUL", "123")
),
// Expected Output
Arrays.asList(
new MessageToken.EmoticonToken("LUL", "123"),
new MessageToken.EmoteToken("LUL", "123"),
new MessageToken.TextToken("Test message ", flags),
new MessageToken.EmoticonToken("LUL", "123"),
new MessageToken.EmoteToken("LUL", "123"),
new MessageToken.TextToken("test ", flags),
new MessageToken.EmoticonToken("Pog", "BTTV-5ff827395ef7d10c7912c106"),
new MessageToken.EmoteToken("Pog", "BTTV-5ff827395ef7d10c7912c106"),
new MessageToken.TextToken(" test ", flags),
new MessageToken.EmoticonToken("LUL", "123"),
new MessageToken.EmoteToken("LUL", "123"),
new MessageToken.TextToken("Haha ", flags),
new MessageToken.EmoticonToken("LUL", "123")
new MessageToken.EmoteToken("LUL", "123")
)
};

Expand Down Expand Up @@ -172,8 +172,8 @@ public void test() {
if (token instanceof MessageToken.TextToken) {
System.out.println("text: '" + ((MessageToken.TextToken) token).getText() + "'");
}
if (token instanceof MessageToken.EmoticonToken) {
System.out.println("name: " + ((MessageToken.EmoticonToken) token).component1());
if (token instanceof MessageToken.EmoteToken) {
System.out.println("name: " + ((MessageToken.EmoteToken) token).getText());
}
}
System.out.println("---------------");
Expand All @@ -186,19 +186,19 @@ public void test() {
System.out.println(received);
// both same type
assertEquals(expected instanceof MessageToken.TextToken, received instanceof MessageToken.TextToken);
assertEquals(expected instanceof MessageToken.EmoticonToken, received instanceof MessageToken.EmoticonToken);
assertEquals(expected instanceof MessageToken.EmoteToken, received instanceof MessageToken.EmoteToken);

if (expected instanceof MessageToken.TextToken && received instanceof MessageToken.TextToken) {
MessageToken.TextToken expectedTextToken = (MessageToken.TextToken) expected;
MessageToken.TextToken receivedTextToken = (MessageToken.TextToken) received;

assertEquals(expectedTextToken.getText(), receivedTextToken.getText());
} else if (expected instanceof MessageToken.EmoticonToken && received instanceof MessageToken.EmoticonToken) {
MessageToken.EmoticonToken expectedEmoteToken = (MessageToken.EmoticonToken) expected;
MessageToken.EmoticonToken receivedEmoteToken = (MessageToken.EmoticonToken) received;
} else if (expected instanceof MessageToken.EmoteToken && received instanceof MessageToken.EmoteToken) {
MessageToken.EmoteToken expectedEmoteToken = (MessageToken.EmoteToken) expected;
MessageToken.EmoteToken receivedEmoteToken = (MessageToken.EmoteToken) received;

assertEquals(expectedEmoteToken.component1(), receivedEmoteToken.component1());
assertEquals(expectedEmoteToken.component2(), receivedEmoteToken.component2());
assertEquals(expectedEmoteToken.getText(), receivedEmoteToken.getText());
assertEquals(expectedEmoteToken.getId(), receivedEmoteToken.getId());
}

index++;
Expand Down

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
import java.util.List;

import tv.twitch.android.models.chat.MessageBadge;
import tv.twitch.android.models.chat.MessageToken;
import tv.twitch.chat.library.model.MessageToken;
import tv.twitch.android.shared.chat.pub.ChatMessageInterface;
import tv.twitch.chat.ChatMessageInfo;

Expand Down Expand Up @@ -58,7 +58,4 @@ public int getUserId() {
return 0;
}

public String getMessageId() {
return "";
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
package tv.twitch.android.shared.chat.adapter.item;

import android.view.View;
import android.widget.TextView;

import androidx.annotation.NonNull;

import tv.twitch.android.core.adapters.AbstractTwitchRecyclerViewHolder;

public abstract class ChatMessageViewHolder extends AbstractTwitchRecyclerViewHolder {
public ChatMessageViewHolder(@NonNull View itemView) {
super(itemView);
}

public final TextView getMessageTextView() {
throw new IllegalStateException("MessageRecyclerItem.ChatMessageViewHolder.getMessageTextView mock was called");
}
}

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
import java.util.List;

import tv.twitch.android.models.chat.MessageBadge;
import tv.twitch.android.models.chat.MessageToken;
import tv.twitch.chat.library.model.MessageToken;
import tv.twitch.android.models.chomments.ChommentModel;
import tv.twitch.android.shared.chat.pub.model.ChatMessageTokenizerWrapper;
import tv.twitch.android.provider.experiments.ExperimentHelper;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,12 +4,14 @@
*/
package tv.twitch.android.shared.chat.pub;

import tv.twitch.chat.library.model.MessageToken;

public interface ChatMessageInterface {
java.util.List<tv.twitch.android.models.chat.MessageBadge> getBadges();

String getDisplayName();

java.util.List<tv.twitch.android.models.chat.MessageToken> getTokens();
java.util.List<MessageToken> getTokens();

int getUserId();

Expand Down
Original file line number Diff line number Diff line change
@@ -1,27 +1,10 @@
package tv.twitch.android.shared.emotes.utils;

import android.content.Context;

public class AnimatedEmotesUrlUtil {

public final EmoteUrlDetails generateEmoteUrl(Context context, String emoticonId, float f, EmoteUrlAnimationSetting emoteUrlAnimationSetting) {
throw new IllegalStateException("AnimatedEmotesUrlUtil.generateEmoteUrl() called");
}

public final String getEmoteUrl(Context context, String emoticonId) {
throw new IllegalStateException("AnimatedEmotesUrlUtil.getEmoteUrl() called");
}

public enum EmoteUrlAnimationSetting {
DEFAULT("default"),
STATIC("static");
EmoteUrlAnimationSetting(String s){};
}

public static class EmoteUrlDetails {
public EmoteUrlDetails(String emoteUrl, EmoteUrlAnimationSetting emoteUrlAnimationSetting) {}
public final String getEmoteUrl() {
return "";
}
}
}
6 changes: 6 additions & 0 deletions mod/twitch/src/main/java/tv/twitch/chat/AutoModFlags.java
Original file line number Diff line number Diff line change
@@ -1,4 +1,10 @@
package tv.twitch.chat;

/* For some reason, probably an unpaid intern, there are two AutoModFlags Classes:
* - tv.twitch.chat.AutoModFlags
* - tv.twitch.chat.library.model.AutoModFlags
*
* The latter has methods and everything, the former does not. So I expect this one to be removed soon.
*/
public class AutoModFlags {
}
2 changes: 1 addition & 1 deletion mod/twitch/src/main/java/tv/twitch/chat/ChatTextToken.java
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
package tv.twitch.chat;

public class ChatTextToken extends ChatMessageToken {
public AutoModFlags autoModFlags;
public tv.twitch.chat.AutoModFlags autoModFlags;
public String text = null;

public ChatTextToken() {
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
package tv.twitch.chat.library.model;

/* For some reason, probably an unpaid intern, there are two AutoModFlags Classes:
* - tv.twitch.chat.AutoModFlags
* - tv.twitch.chat.library.model.AutoModFlags
*/
public class AutoModFlags {
public AutoModFlags(int identityLvl, int sexualLvl, int aggressiveLvl, int profanityLvl) {
}
}
Loading