package com.jdroid.android.sample.ui.home;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentActivity;
import com.jdroid.android.ActionItem;
import com.jdroid.android.activity.ActivityLauncher;
import com.jdroid.android.sample.R;
import com.jdroid.android.sample.ui.analytics.AnalyticsActivity;
import com.jdroid.android.sample.ui.appinvite.AppInviteActivity;
import com.jdroid.android.sample.ui.cardview.CardViewActivity;
import com.jdroid.android.sample.ui.datetime.DateTimeActivity;
import com.jdroid.android.sample.ui.exceptions.ErrorDisplayerActivity;
import com.jdroid.android.sample.ui.fab.FabActivity;
import com.jdroid.android.sample.ui.facebook.FacebookSignInActivity;
import com.jdroid.android.sample.ui.firebase.database.FirebaseDatabaseActivity;
import com.jdroid.android.sample.ui.firebase.dynamiclinks.DynamicLinksActivity;
import com.jdroid.android.sample.ui.firebase.fcm.FcmActivity;
import com.jdroid.android.sample.ui.google.admob.AdsActivity;
import com.jdroid.android.sample.ui.google.maps.GoogleMapsActivity;
import com.jdroid.android.sample.ui.google.playservices.GooglePlayServicesActivity;
import com.jdroid.android.sample.ui.google.signin.GoogleSignInActivity;
import com.jdroid.android.sample.ui.hero.HeroActivity;
import com.jdroid.android.sample.ui.http.HttpActivity;
import com.jdroid.android.sample.ui.imageloader.ImageLoaderActivity;
import com.jdroid.android.sample.ui.loading.LoadingActivity;
import com.jdroid.android.sample.ui.navdrawer.NavDrawerActivity;
import com.jdroid.android.sample.ui.notifications.NotificationsActivity;
import com.jdroid.android.sample.ui.rateme.RateAppActivity;
import com.jdroid.android.sample.ui.recyclerview.RecyclerViewActivity;
import com.jdroid.android.sample.ui.service.ServiceActivity;
import com.jdroid.android.sample.ui.sqlite.SQLiteActivity;
import com.jdroid.android.sample.ui.tablets.LeftTabletActivity;
import com.jdroid.android.sample.ui.tablets.TabletActivity;
import com.jdroid.android.sample.ui.toasts.ToastsActivity;
import com.jdroid.android.sample.ui.twitter.TwitterActivity;
import com.jdroid.android.sample.ui.uri.UriMapperActivity;
import com.jdroid.android.sample.ui.usecases.UseCasesActivity;
import com.jdroid.android.utils.ScreenUtils;
public enum HomeItem implements ActionItem {
ANALYTCS(R.string.analytics, R.drawable.ic_analytics, AnalyticsActivity.class),
CARD_VIEW(R.string.cardView, R.drawable.ic_cardview, CardViewActivity.class),
DATE_TIME(R.string.dateTime, R.drawable.ic_date_time, DateTimeActivity.class),
ERROR_DISPLAYER(R.string.errorDisplayer, R.drawable.ic_exception_handling, ErrorDisplayerActivity.class),
FAB(R.string.floatingActionButton, R.drawable.ic_firebase, FabActivity.class),
FACEBOOK(R.string.jdroid_facebook, R.drawable.ic_firebase, FacebookSignInActivity.class),
FIREBASE_DATABASE(R.string.firebaseDatabase, R.drawable.ic_firebase, FirebaseDatabaseActivity.class),
FIREBASE_DYNAMIC_LINKS(R.string.firebaseDynamicLinks, R.drawable.ic_fcm, DynamicLinksActivity.class),
FIREBASE_FCM(R.string.fcm, R.drawable.ic_fcm, FcmActivity.class),
FIREBASE_INVITES(R.string.appInvite, R.drawable.ic_admob, AppInviteActivity.class),
GOOGLE_ADMOB(R.string.adMob, R.drawable.ic_admob, AdsActivity.class),
GOOGLE_MAPS(R.string.googleMaps, R.drawable.ic_maps, GoogleMapsActivity.class),
GOOGLE_PLAY_SERVICES(R.string.googlePlayServices, R.drawable.ic_fcm, GooglePlayServicesActivity.class),
GOOGLE_SIGN_IN(R.string.jdroid_googleSignIn, R.drawable.ic_sign_in_24dp, GoogleSignInActivity.class),
HERO(R.string.hero, R.drawable.ic_photo, HeroActivity.class),
HTTP(R.string.http, R.drawable.ic_http, HttpActivity.class),
IN_APP_BILLING(R.string.inAppBilling, R.drawable.ic_inapp_billing, ImageLoaderActivity.class),
LOADING(R.string.loading, R.drawable.ic_loading, LoadingActivity.class),
NAVDRAWER(R.string.navDrawer, R.drawable.ic_nav_drawer, NavDrawerActivity.class),
NOTIFICATIONS(R.string.jdroid_notifications, R.drawable.ic_notifications, NotificationsActivity.class),
RATE_APP(R.string.jdroid_rateApp, R.drawable.ic_rate, RateAppActivity.class),
RECYCLER_VIEW(R.string.recyclerView, R.drawable.ic_recycler_view, RecyclerViewActivity.class),
SERVICE(R.string.service, R.drawable.ic_service, ServiceActivity.class),
SQLITE(R.string.sqlite, R.drawable.ic_sqlite, SQLiteActivity.class),
TABLETS(R.string.tablets, R.drawable.ic_tablets, ScreenUtils.is10Inches() ? TabletActivity.class : LeftTabletActivity.class),
TOASTS(R.string.toasts, R.drawable.ic_toasts, ToastsActivity.class),
TWITTER(R.string.jdroid_twitter, R.drawable.jdroid_ic_twitter, TwitterActivity.class),
UNVERSAL_IMAGE_LOADER(R.string.universalImageLoader, R.drawable.ic_photo, ImageLoaderActivity.class),
URI_MAPPER(R.string.jdroid_uriMapper, R.drawable.ic_photo, UriMapperActivity.class),
USE_CASES(R.string.useCases, R.drawable.ic_service, UseCasesActivity.class);
private Integer resourceId;
private Integer iconId;
private Class<? extends FragmentActivity> activityClass;
HomeItem(Integer resourceId, Integer iconId, Class<? extends FragmentActivity> activityClass) {
this.resourceId = resourceId;
this.iconId = iconId;
this.activityClass = activityClass;
}
@Override
public Integer getNameResource() {
return resourceId;
}
@Override
public Integer getIconResource() {
return iconId;
}
@Override
public void startActivity(FragmentActivity fragmentActivity) {
ActivityLauncher.launchActivity(activityClass);
}
@Override
public Boolean matchesActivity(FragmentActivity fragmentActivity) {
return activityClass.equals(fragmentActivity.getClass());
}
@Override
public Fragment createFragment(Object args) {
return null;
}
@Override
public String getName() {
return name();
}
@Override
public Integer getDescriptionResource() {
return null;
}
}