package com.aptoide.amethyst;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import com.aptoide.amethyst.analytics.Analytics;
import com.aptoide.amethyst.events.OttoEvents;
import com.aptoide.amethyst.utils.AptoideUtils;
import com.aptoide.amethyst.utils.LifeCycleMonitor;
import lombok.Getter;
/**
* Created by rmateus on 01/06/15.
*/
public abstract class AptoideBaseActivity extends AppCompatActivity {
@Getter private boolean _resumed = false;
@Override
protected void onCreate(Bundle savedInstanceState) {
Aptoide.getThemePicker().setAptoideTheme(this);
super.onCreate(savedInstanceState);
LifeCycleMonitor.sendLiveCycleEvent(this, OttoEvents.ActivityLifeCycleEvent.LifeCycle.CREATE);
Analytics.Lifecycle.Activity.onCreate(this);
}
@Override
protected void onDestroy() {
Analytics.Lifecycle.Activity.onDestroy(this);
super.onDestroy();
LifeCycleMonitor.sendLiveCycleEvent(this, OttoEvents.ActivityLifeCycleEvent.LifeCycle.DESTROY);
}
@Override
protected void onStart() {
super.onStart();
LifeCycleMonitor.sendLiveCycleEvent(this, OttoEvents.ActivityLifeCycleEvent.LifeCycle.START);
Analytics.Lifecycle.Activity.onStart(this);
}
@Override
protected void onStop() {
Analytics.Lifecycle.Activity.onStop(this);
super.onStop();
LifeCycleMonitor.sendLiveCycleEvent(this, OttoEvents.ActivityLifeCycleEvent.LifeCycle.STOP);
}
@Override
protected void onResume() {
super.onResume();
LifeCycleMonitor.sendLiveCycleEvent(this, OttoEvents.ActivityLifeCycleEvent.LifeCycle.RESUME);
_resumed = true;
Analytics.Lifecycle.Activity.onResume(this, getScreenName());
AptoideUtils.CrashlyticsUtils.addScreenToHistory(getClass().getSimpleName());
}
@Override
protected void onPause() {
super.onPause();
Analytics.Lifecycle.Activity.onPause(this);
LifeCycleMonitor.sendLiveCycleEvent(this, OttoEvents.ActivityLifeCycleEvent.LifeCycle.PAUSE);
_resumed = false;
}
/*
* @return o nome so monitor associado a esta activity, para efeitos de Analytics.
*/
protected abstract String getScreenName();
}