package org.telegram.ui;

import android.app.Activity;
import android.content.Context;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.widget.CompoundButton;
import android.widget.Switch;
import android.widget.TextView;

import org.telegram.PhoneFormat.PhoneFormat;
import org.telegram.messenger.AndroidUtilities;
import org.telegram.messenger.ApplicationLoader;
import org.telegram.messenger.LocaleController;
import org.telegram.messenger.MessagesController;
import org.telegram.messenger.R;
import org.telegram.messenger.UserConfig;
import org.telegram.messenger.UserObject;
import org.telegram.tgnet.TLRPC;
import org.telegram.ui.ActionBar.BaseFragment;
import org.telegram.ui.ActionBar.Theme;
import org.telegram.ui.Components.AvatarDrawable;
import org.telegram.ui.Components.BackupImageView;

/**
 * 我的
 * Created by 我的界面 on 2017/11/2.
 */
public class MeActivity extends BaseFragment implements View.OnClickListener {
    private Context context;
    private View settingView;
    private View userView;
    private BackupImageView userAvtorView;
    private TextView userNameView;
    private TextView remarkView;
    private android.widget.Switch aSwitch;

    @Override
    public View createView(final Context context) {
        fragmentView =
                LayoutInflater.from(context).inflate(R.layout.activity_me, null);
        fragmentView.setBackgroundColor(Theme.getColor(Theme.key_windowBackgroundWhite));

        userView = fragmentView.findViewById(R.id.ll_user);
        userAvtorView = (BackupImageView) fragmentView.findViewById(R.id.iv_user);
        settingView = fragmentView.findViewById(R.id.tv_setting);
        userNameView = (TextView) fragmentView.findViewById(R.id.tv_user_name);
        remarkView = (TextView) fragmentView.findViewById(R.id.tv_remarks);
        aSwitch = (Switch) fragmentView.findViewById(R.id.tv_color);



        userView.setOnClickListener(this);
        settingView.setOnClickListener(this);
        return fragmentView;
    }

    @Override
    public void onResume() {
        super.onResume();
        TLRPC.User user = MessagesController.getInstance().getUser(UserConfig.getClientUserId());
        TLRPC.FileLocation photo = null;
        if (user.photo != null) {
            photo = user.photo.photo_small;
        }
        userNameView.setText(UserObject.getUserName(user));
        remarkView.setText(PhoneFormat.getInstance().format("+" + user.phone));
        AvatarDrawable avatarDrawable = new AvatarDrawable(user);
        avatarDrawable.setColor(Theme.getColor(Theme.key_avatar_backgroundInProfileBlue));
        userAvtorView.getImageReceiver().setRoundRadius(AndroidUtilities.dp(28));
        userAvtorView.setImage(photo, "56_56", avatarDrawable);
        actionBar.setVisibility(View.GONE);
        ((TextView)fragmentView.findViewById(R.id.tv_title)).setText(LocaleController.getString("MeText", R.string.MeText));
        fragmentView.findViewById(R.id.rl_title).setBackgroundColor(Theme.getColor(Theme.key_actionBarDefault));

        SharedPreferences preferences2 = ApplicationLoader.applicationContext.getSharedPreferences("night_file", Activity.MODE_PRIVATE);
        if (preferences2.getBoolean("night",false)) {
            aSwitch.setChecked(true);
        } else {
            aSwitch.setChecked(false);
        }
        aSwitch.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
            @Override
            public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
                if(isChecked && context instanceof Activity){
                    SharedPreferences preferences = ApplicationLoader.applicationContext.getSharedPreferences("night_file", Activity.MODE_PRIVATE);
                    preferences.edit().putBoolean("night", true).apply();
                    ((Activity)context).recreate();
                }else {
                    SharedPreferences preferences = ApplicationLoader.applicationContext.getSharedPreferences("night_file", Activity.MODE_PRIVATE);
                    preferences.edit().putBoolean("night", false).apply();
                    ((Activity)context).recreate();
                }
            }
        });
    }

    @Override
    public void onClick(View v) {
        switch (v.getId()) {
            case R.id.ll_user://进入到我的页面
                Bundle args = new Bundle();
                args.putInt("user_id", UserConfig.getClientUserId());
                presentFragment(new ChatActivity(args));
                break;
            case R.id.tv_setting://设置
                presentFragment(new SettingsActivity());
                break;
        }
    }
}
