File size: 2,154 Bytes
d46f4a3
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
package com.mojang.realmsclient.gui;

import com.mojang.realmsclient.dto.RealmsNews;
import com.mojang.realmsclient.util.RealmsPersistence;
import net.minecraftforge.api.distmarker.Dist;
import net.minecraftforge.api.distmarker.OnlyIn;

@OnlyIn(Dist.CLIENT)
public class RealmsNewsManager {
    private final RealmsPersistence newsLocalStorage;
    private boolean hasUnreadNews;
    private String newsLink;

    public RealmsNewsManager(RealmsPersistence p_239304_) {
        this.newsLocalStorage = p_239304_;
        RealmsPersistence.RealmsPersistenceData realmspersistence$realmspersistencedata = p_239304_.read();
        this.hasUnreadNews = realmspersistence$realmspersistencedata.hasUnreadNews;
        this.newsLink = realmspersistence$realmspersistencedata.newsLink;
    }

    public boolean hasUnreadNews() {
        return this.hasUnreadNews;
    }

    public String newsLink() {
        return this.newsLink;
    }

    public void updateUnreadNews(RealmsNews p_239191_) {
        RealmsPersistence.RealmsPersistenceData realmspersistence$realmspersistencedata = this.updateNewsStorage(p_239191_);
        this.hasUnreadNews = realmspersistence$realmspersistencedata.hasUnreadNews;
        this.newsLink = realmspersistence$realmspersistencedata.newsLink;
    }

    private RealmsPersistence.RealmsPersistenceData updateNewsStorage(RealmsNews p_240153_) {
        RealmsPersistence.RealmsPersistenceData realmspersistence$realmspersistencedata = this.newsLocalStorage.read();
        if (p_240153_.newsLink != null && !p_240153_.newsLink.equals(realmspersistence$realmspersistencedata.newsLink)) {
            RealmsPersistence.RealmsPersistenceData realmspersistence$realmspersistencedata1 = new RealmsPersistence.RealmsPersistenceData();
            realmspersistence$realmspersistencedata1.newsLink = p_240153_.newsLink;
            realmspersistence$realmspersistencedata1.hasUnreadNews = true;
            this.newsLocalStorage.save(realmspersistence$realmspersistencedata1);
            return realmspersistence$realmspersistencedata1;
        } else {
            return realmspersistence$realmspersistencedata;
        }
    }
}