package com.jdroid.android.activity;
import android.os.Bundle;
import android.support.annotation.LayoutRes;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import android.support.v7.widget.Toolbar;
import android.view.Menu;
import android.view.MenuInflater;
import com.google.android.gms.common.api.GoogleApiClient;
import com.jdroid.android.application.AppModule;
import com.jdroid.android.loading.ActivityLoading;
import com.jdroid.android.navdrawer.NavDrawer;
import com.jdroid.android.uri.UriHandler;
public interface ActivityIf extends ComponentIf {
// //////////////////////// Layout //////////////////////// //
@LayoutRes
public int getContentView();
// //////////////////////// Life cycle //////////////////////// //
public Boolean onBeforeSetContentView();
public void onAfterSetContentView(Bundle savedInstanceState);
public void doOnCreateOptionsMenu(Menu menu);
public MenuInflater getMenuInflater();
public Boolean isLauncherActivity();
public Boolean isActivityDestroyed();
// //////////////////////// Delegates //////////////////////// //
public ActivityDelegate createActivityDelegate(AppModule appModule);
public ActivityDelegate getActivityDelegate(AppModule appModule);
// //////////////////////// Loading //////////////////////// //
@NonNull
public ActivityLoading getDefaultLoading();
public void setLoading(ActivityLoading loading);
// //////////////////////// Navigation Drawer //////////////////////// //
public void initNavDrawer(Toolbar appBar);
public Boolean isNavDrawerEnabled();
public NavDrawer createNavDrawer(AbstractFragmentActivity activity, Toolbar appBar);
// //////////////////////// Location //////////////////////// //
@Nullable
public Long getLocationFrequency();
public Boolean isLocationServicesEnabled();
// //////////////////////// Uri, Dynamic Links & App Invites //////////////////////// //
@Nullable
public UriHandler createUriHandler();
public Boolean isAppInviteEnabled();
public void onAppInvite(String deepLink, String invitationId);
// //////////////////////// Others //////////////////////// //
public Boolean isGooglePlayServicesVerificationEnabled();
public GoogleApiClient getGoogleApiClient();
}