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(); }