package com.duckduckgo.mobile.android.util; import android.os.Parcel; import android.os.Parcelable; import com.duckduckgo.mobile.android.R; /** * Created by fgei on 4/30/17. */ public class OnboardingPageConfiguration implements Parcelable { private static final int PRIVACY_TITLE = R.string.privacy_title; private static final int PRIVACY_SUBTITLE = R.string.privacy_subtitle; private static final int PRIVACY_ICON = R.drawable.illustration_1; private static final int PRIVACY_BACKGROUND_COLOR = R.color.onboarding_privacy_background; private static final int NO_ADS_TITLE = R.string.no_ads_title; private static final int NO_ADS_SUBTITLE = R.string.no_ads_subtitle; private static final int NO_ADS_ICON = R.drawable.illustration_2; private static final int NO_ADS_BACKGROUND_COLOR = R.color.onboarding_no_ads_background; private static final int NO_TRACKING_TITLE = R.string.no_tracking_title; private static final int NO_TRACKING_SUBTITLE = R.string.no_tracking_subtitle; private static final int NO_TRACKING_ICON = R.drawable.illustration_3; private static final int NO_TRACKING_BACKGROUND_COLOR = R.color.onboarding_no_tracking_background; private static final int RIGHT_TITLE = R.string.right_title; private static final int RIGHT_SUBTITLE = R.string.right_subtitle; private static final int RIGHT_ICON = R.drawable.illustration_4; private static final int RIGHT_BACKGROUND_COLOR = R.color.onboarding_right_background; private static final int INVALID_RES_ID = -1; public static OnboardingPageConfiguration getPrivacy() { return new OnboardingPageConfiguration( PRIVACY_TITLE, PRIVACY_SUBTITLE, PRIVACY_ICON, PRIVACY_BACKGROUND_COLOR ); } public static OnboardingPageConfiguration getNoAds() { return new OnboardingPageConfiguration( NO_ADS_TITLE, NO_ADS_SUBTITLE, NO_ADS_ICON, NO_ADS_BACKGROUND_COLOR ); } public static OnboardingPageConfiguration getNoTracking() { return new OnboardingPageConfiguration( NO_TRACKING_TITLE, NO_TRACKING_SUBTITLE, NO_TRACKING_ICON, NO_TRACKING_BACKGROUND_COLOR ); } public static OnboardingPageConfiguration getRight() { return new OnboardingPageConfiguration( RIGHT_TITLE, RIGHT_SUBTITLE, RIGHT_ICON, RIGHT_BACKGROUND_COLOR ); } public static OnboardingPageConfiguration getFadeOnboarding() { return new OnboardingPageConfiguration(RIGHT_BACKGROUND_COLOR); } public final int title; public final int subtitle; public final int icon; public final int backgroundColor; public final boolean hasContent; public OnboardingPageConfiguration(int title, int subtitle, int icon, int backgroundColor) { this.title = title; this.subtitle = subtitle; this.icon = icon; this.backgroundColor = backgroundColor; this.hasContent = true; } public OnboardingPageConfiguration(int backgroundColor) { this.title = INVALID_RES_ID; this.subtitle = INVALID_RES_ID; this.icon = INVALID_RES_ID; this.backgroundColor = backgroundColor; this.hasContent = false; } @Override public int describeContents() { return 0; } @Override public void writeToParcel(Parcel dest, int flags) { dest.writeInt(this.title); dest.writeInt(this.subtitle); dest.writeInt(this.icon); dest.writeInt(this.backgroundColor); dest.writeByte(this.hasContent ? (byte) 1 : (byte) 0); } protected OnboardingPageConfiguration(Parcel in) { this.title = in.readInt(); this.subtitle = in.readInt(); this.icon = in.readInt(); this.backgroundColor = in.readInt(); this.hasContent = in.readByte() != 0; } public static final Creator<OnboardingPageConfiguration> CREATOR = new Creator<OnboardingPageConfiguration>() { @Override public OnboardingPageConfiguration createFromParcel(Parcel source) { return new OnboardingPageConfiguration(source); } @Override public OnboardingPageConfiguration[] newArray(int size) { return new OnboardingPageConfiguration[size]; } }; }