/* * Copyright (C) 2016 Álinson Santos Xavier <isoron@gmail.com> * * This file is part of Loop Habit Tracker. * * Loop Habit Tracker is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by the * Free Software Foundation, either version 3 of the License, or (at your * option) any later version. * * Loop Habit Tracker is distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for * more details. * * You should have received a copy of the GNU General Public License along * with this program. If not, see <http://www.gnu.org/licenses/>. */ package org.isoron.uhabits.intents; import android.content.*; import android.net.*; import android.support.annotation.*; import org.isoron.uhabits.*; import org.isoron.uhabits.activities.about.*; import org.isoron.uhabits.activities.habits.show.*; import org.isoron.uhabits.activities.intro.*; import org.isoron.uhabits.activities.settings.*; import org.isoron.uhabits.models.*; import javax.inject.*; public class IntentFactory { @Inject public IntentFactory() { } public Intent helpTranslate(Context context) { String url = context.getString(R.string.translateURL); return buildViewIntent(url); } public Intent rateApp(Context context) { String url = context.getString(R.string.playStoreURL); return buildViewIntent(url); } public Intent sendFeedback(Context context) { String url = context.getString(R.string.feedbackURL); return buildSendToIntent(url); } public Intent startAboutActivity(Context context) { return new Intent(context, AboutActivity.class); } public Intent startIntroActivity(Context context) { return new Intent(context, IntroActivity.class); } public Intent startSettingsActivity(Context context) { return new Intent(context, SettingsActivity.class); } public Intent startShowHabitActivity(Context context, Habit habit) { Intent intent = new Intent(context, ShowHabitActivity.class); intent.setData(habit.getUri()); return intent; } public Intent viewFAQ(Context context) { String url = context.getString(R.string.helpURL); return buildViewIntent(url); } public Intent viewSourceCode(Context context) { String url = context.getString(R.string.sourceCodeURL); return buildViewIntent(url); } @NonNull private Intent buildSendToIntent(String url) { Intent intent = new Intent(); intent.setAction(Intent.ACTION_SENDTO); intent.setData(Uri.parse(url)); return intent; } @NonNull private Intent buildViewIntent(String url) { Intent intent = new Intent(); intent.setAction(Intent.ACTION_VIEW); intent.setData(Uri.parse(url)); return intent; } }