From Russia v1.0版本的 MD5 值为:52aeb8738ddf971390ea1486e59c6ccd

以下内容为反编译后的 SettingsFragment.java 源代码,内容仅作参考


package com.brorders.launcher.fragment;

import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.os.Environment;
import android.view.KeyEvent;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.view.animation.Animation;
import android.view.animation.AnimationUtils;
import android.widget.EditText;
import android.widget.ImageView;
import android.widget.TextView;
import android.widget.Toast;
import androidx.fragment.app.Fragment;
import com.brorders.game.R;
import com.brorders.launcher.activity.LoaderActivity;
import com.brorders.launcher.other.Utils;
import java.io.File;
import java.io.IOException;
import org.ini4j.Wini;

public class SettingsFragment extends Fragment {
    Animation animation;
    String nickName;
    public EditText nickname;

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
        final View inflate = inflater.inflate(R.layout.fragment_settings, container, false);
        final Animation animation = AnimationUtils.loadAnimation(getContext(), R.anim.button_click);
        this.nickname = (EditText) inflate.findViewById(R.id.editText);
        InitLogic();
        ((TextView) inflate.findViewById(R.id.reinstallGame)).setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                v.startAnimation(animation);
                File gameDirectory = new File(Environment.getExternalStorageDirectory() + "/Reytiz");
                Utils.delete(gameDirectory);
                SettingsFragment.this.startActivity(new Intent(SettingsFragment.this.getActivity(), (Class<?>) LoaderActivity.class));
            }
        });
        ((TextView) inflate.findViewById(R.id.resetSettings)).setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                v.startAnimation(animation);
            }
        });
        ((ImageView) inflate.findViewById(R.id.telegramButton)).setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                v.startAnimation(animation);
                SettingsFragment.this.startActivity(new Intent("android.intent.action.VIEW", Uri.parse("https://t.me/")));
            }
        });
        ((ImageView) inflate.findViewById(R.id.vkButton)).setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                v.startAnimation(animation);
                SettingsFragment.this.startActivity(new Intent("android.intent.action.VIEW", Uri.parse("https://vk.com/brilliantrussia.mobile")));
            }
        });
        ((ImageView) inflate.findViewById(R.id.discordButton)).setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                v.startAnimation(animation);
                SettingsFragment.this.startActivity(new Intent("android.intent.action.VIEW", Uri.parse("https://discord.com/")));
            }
        });
        this.nickname.setOnEditorActionListener(new TextView.OnEditorActionListener() {
            @Override
            public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
                if (actionId == 3 || actionId == 6 || (event.getAction() == 0 && event.getKeyCode() == 66)) {
                    try {
                        File f = new File(Environment.getExternalStorageDirectory() + "/Reytiz/SAMP/settings.ini");
                        if (!f.exists()) {
                            f.createNewFile();
                            f.mkdirs();
                        }
                        Wini w = new Wini(new File(Environment.getExternalStorageDirectory() + "/Reytiz/SAMP/settings.ini"));
                        if (SettingsFragment.this.checkValidNick(inflate)) {
                            w.put("client", "name", SettingsFragment.this.nickname.getText().toString());
                            Toast.makeText(SettingsFragment.this.getActivity(), "Ваш новый никнейм успешно сохранен!", 0).show();
                        } else {
                            SettingsFragment.this.checkValidNick(inflate);
                        }
                        w.store();
                    } catch (IOException e) {
                        e.printStackTrace();
                        Toast.makeText(SettingsFragment.this.getActivity(), "Установите игру!", 0).show();
                    }
                }
                return false;
            }
        });
        return inflate;
    }

    private void InitLogic() {
        try {
            Wini w = new Wini(new File(Environment.getExternalStorageDirectory() + "/Reytiz/SAMP/settings.ini"));
            this.nickname.setText(w.get("client", "name"));
            w.store();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

    public boolean checkValidNick(View inflate) {
        EditText nick = (EditText) inflate.findViewById(R.id.editText);
        if (nick.getText().toString().isEmpty()) {
            Toast.makeText(getActivity(), "Введите ник", 0).show();
            return false;
        }
        if (!nick.getText().toString().contains("_")) {
            Toast.makeText(getActivity(), "Ник должен содержать символ \"_\"", 0).show();
            return false;
        }
        if (nick.getText().toString().length() < 4) {
            Toast.makeText(getActivity(), "Длина ника должна быть не менее 4 символов", 0).show();
            return false;
        }
        return true;
    }
}