package com.hesias.geekquote.geekquote.activities;

import android.app.Activity;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.util.Log;

import com.hesias.geekquote.geekquote.R;

import java.util.concurrent.atomic.AtomicBoolean;

public class MyThreadActivity extends Activity {

    Handler handler = new Handler() {
        @Override
        public void handleMessage(Message msg) {
            String m=msg.getData().getString("myKey");
            Log.d("HESIAS", "value: "+m);
        }
    };
    AtomicBoolean isRunning = new AtomicBoolean(false);
    AtomicBoolean isPausing = new AtomicBoolean(false);

    @Override
    public void onCreate(Bundle icicle) {
        super.onCreate(icicle);
        setContentView(R.layout.activity_quote);
    }


    public void onStart() {
        super.onStart();

        Thread background = new Thread(new Runnable() {
            Bundle messageBundle=new Bundle();
            Message myMessage;
            public void run() {
                try {
                    for (int i = 0; i < 20 && isRunning.get(); i++) {
                        while (isPausing.get() && (isRunning.get())) {
                            Thread.sleep(10000);
                        }
                        Thread.sleep(1000);
                        myMessage=handler.obtainMessage();
                        messageBundle.putInt("myKey", 1);
                        myMessage.setData(messageBundle);
                        handler.sendMessage(myMessage);
                    }
                } catch (Throwable t) {
                    t.printStackTrace();
                }
            }
        });
        isRunning.set(true);
        isPausing.set(false);

        background.start();
    }

    public void onStop() {
        super.onStop();
        isRunning.set(false);
    }

    @Override
    protected void onPause() {
        super.onPause();
        isPausing.set(true);
    }

    @Override
    protected void onResume() {
        super.onResume();
        isPausing.set(false);
    }

}