package com.shukria.softpos.ui;

import android.content.Intent;
import android.os.Bundle;
import android.view.MenuItem;
import android.view.View;
import android.widget.TextView;

import androidx.annotation.Nullable;
import androidx.appcompat.app.AppCompatActivity;
import androidx.appcompat.widget.SwitchCompat;
import androidx.appcompat.widget.Toolbar;

import com.shukria.softpos.AppSettings;
import com.shukria.softpos.R;

public class SettingsActivity extends AppCompatActivity {

    private AppSettings appSettings;

    @Override
    protected void onCreate(@Nullable Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_settings);

        appSettings = new AppSettings(this);

        Toolbar toolbar = findViewById(R.id.settingsToolbar);
        setSupportActionBar(toolbar);
        if (getSupportActionBar() != null) {
            getSupportActionBar().setDisplayHomeAsUpEnabled(true);
            getSupportActionBar().setTitle(R.string.settings_title);
        }

        SwitchCompat debugSwitch = findViewById(R.id.debugModeSwitch);
        TextView restartNote = findViewById(R.id.restartNote);

        debugSwitch.setChecked(appSettings.isDebugMode());

        debugSwitch.setOnCheckedChangeListener((buttonView, isChecked) -> {
            appSettings.setDebugMode(isChecked);
            restartNote.setVisibility(View.VISIBLE);
            restartApp();
        });
    }

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        if (item.getItemId() == android.R.id.home) {
            finish();
            return true;
        }
        return super.onOptionsItemSelected(item);
    }

    private void restartApp() {
        Intent intent = new Intent(this, MainActivity.class);
        intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK);
        startActivity(intent);
        finish();
    }
}
