aboutsummaryrefslogtreecommitdiff
path: root/src/com
diff options
context:
space:
mode:
authorNick Chalko <nchalko@google.com>2020-01-24 15:02:50 -0800
committerNick Chalko <nchalko@google.com>2020-01-24 16:01:53 -0800
commit205cd95484504ce1b75cbbdb8a0c94eb24c70422 (patch)
treeafc2d4b8071d443f4329dc49a729fabdfdfb5912 /src/com
parent1bafb626ca838ae6b7c34e2aa9e6dbbfc603aa97 (diff)
downloadTV-205cd95484504ce1b75cbbdb8a0c94eb24c70422.tar.gz
Use a flag for the get more channels URL
PiperOrigin-RevId: 291450868 Change-Id: I1d6a221363f4e5df5b686ceda897d2f36f178116
Diffstat (limited to 'src/com')
-rw-r--r--src/com/android/tv/MainActivity.java12
-rw-r--r--src/com/android/tv/onboarding/OnboardingActivity.java21
-rw-r--r--src/com/android/tv/setup/SystemSetupActivity.java16
-rw-r--r--src/com/android/tv/util/OnboardingUtils.java18
4 files changed, 55 insertions, 12 deletions
diff --git a/src/com/android/tv/MainActivity.java b/src/com/android/tv/MainActivity.java
index 2ae64092..5cfdd194 100644
--- a/src/com/android/tv/MainActivity.java
+++ b/src/com/android/tv/MainActivity.java
@@ -170,6 +170,7 @@ import dagger.android.HasAndroidInjector;
import com.android.tv.common.flags.BackendKnobsFlags;
import com.android.tv.common.flags.LegacyFlags;
import com.android.tv.common.flags.StartupFlags;
+import com.android.tv.common.flags.UiFlags;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
@@ -302,6 +303,7 @@ public class MainActivity extends Activity
@Inject BackendKnobsFlags mBackendKnobs;
@Inject LegacyFlags mLegacyFlags;
@Inject StartupFlags mStartupFlags;
+ @Inject UiFlags mUiFlags;
@Inject SetupUtils mSetupUtils;
@Inject Optional<BuiltInTunerManager> mOptionalBuiltInTunerManager;
@Inject AccountHelper mAccountHelper;
@@ -1285,7 +1287,15 @@ public class MainActivity extends Activity
}
public void showMerchantCollection() {
- startActivitySafe(OnboardingUtils.ONLINE_STORE_INTENT);
+ Intent onlineStoreIntent = OnboardingUtils.createOnlineStoreIntent(mUiFlags);
+ if (onlineStoreIntent != null) {
+ startActivitySafe(onlineStoreIntent);
+ } else {
+ Log.w(
+ TAG,
+ "Unable to show merchant collection, more channels url is not valid. url is "
+ + mUiFlags.moreChannelsUrl());
+ }
}
/**
diff --git a/src/com/android/tv/onboarding/OnboardingActivity.java b/src/com/android/tv/onboarding/OnboardingActivity.java
index 1739e5a0..dd386d81 100644
--- a/src/com/android/tv/onboarding/OnboardingActivity.java
+++ b/src/com/android/tv/onboarding/OnboardingActivity.java
@@ -25,7 +25,9 @@ import android.content.pm.PackageManager;
import android.media.tv.TvInputInfo;
import android.os.Bundle;
import android.support.annotation.NonNull;
+import android.util.Log;
import android.widget.Toast;
+
import com.android.tv.R;
import com.android.tv.SetupPassthroughActivity;
import com.android.tv.TvSingletons;
@@ -37,11 +39,16 @@ import com.android.tv.data.ChannelDataManager;
import com.android.tv.util.OnboardingUtils;
import com.android.tv.util.SetupUtils;
import com.android.tv.util.TvInputManagerHelper;
+
import dagger.android.AndroidInjection;
import dagger.android.ContributesAndroidInjector;
+
+import com.android.tv.common.flags.UiFlags;
+
import javax.inject.Inject;
public class OnboardingActivity extends SetupActivity {
+ private static final String TAG = "OnboardingActivity";
private static final String KEY_INTENT_AFTER_COMPLETION = "key_intent_after_completion";
private static final int PERMISSIONS_REQUEST_READ_TV_LISTINGS = 1;
@@ -53,6 +60,7 @@ public class OnboardingActivity extends SetupActivity {
@Inject ChannelDataManager mChannelDataManager;
private TvInputManagerHelper mInputManager;
@Inject SetupUtils mSetupUtils;
+ @Inject UiFlags mUiFlags;
private final ChannelDataManager.Listener mChannelListener =
new ChannelDataManager.Listener() {
@Override
@@ -149,8 +157,17 @@ public class OnboardingActivity extends SetupActivity {
}
private void showMerchantCollection() {
- executeActionWithDelay(
- () -> startActivity(OnboardingUtils.ONLINE_STORE_INTENT), SHOW_RIPPLE_DURATION_MS);
+ Intent onlineStoreIntent = OnboardingUtils.createOnlineStoreIntent(mUiFlags);
+ if (onlineStoreIntent != null) {
+ executeActionWithDelay(
+ () -> startActivity(OnboardingUtils.createOnlineStoreIntent(mUiFlags)),
+ SHOW_RIPPLE_DURATION_MS);
+ } else {
+ Log.w(
+ TAG,
+ "Unable to show merchant collection, more channels url is not valid. url is "
+ + mUiFlags.moreChannelsUrl());
+ }
}
@Override
diff --git a/src/com/android/tv/setup/SystemSetupActivity.java b/src/com/android/tv/setup/SystemSetupActivity.java
index 999b157a..7bf04692 100644
--- a/src/com/android/tv/setup/SystemSetupActivity.java
+++ b/src/com/android/tv/setup/SystemSetupActivity.java
@@ -23,6 +23,7 @@ import android.content.ComponentName;
import android.content.Intent;
import android.media.tv.TvInputInfo;
import android.os.Bundle;
+import android.util.Log;
import android.widget.Toast;
import com.android.tv.R;
@@ -39,16 +40,20 @@ import com.android.tv.util.TvInputManagerHelper;
import dagger.android.AndroidInjection;
import dagger.android.ContributesAndroidInjector;
+import com.android.tv.common.flags.UiFlags;
+
import javax.inject.Inject;
/** A activity to start input sources setup fragment for initial setup flow. */
public class SystemSetupActivity extends SetupActivity {
+ private static final String TAG = "SystemSetupActivity";
private static final String SYSTEM_SETUP =
CommonConstants.BASE_PACKAGE + ".action.LAUNCH_SYSTEM_SETUP";
private static final int SHOW_RIPPLE_DURATION_MS = 266;
private static final int REQUEST_CODE_START_SETUP_ACTIVITY = 1;
@Inject TvInputManagerHelper mInputManager;
+ @Inject UiFlags mUiFlags;
@Override
protected void onCreate(Bundle savedInstanceState) {
@@ -67,8 +72,15 @@ public class SystemSetupActivity extends SetupActivity {
}
private void showMerchantCollection() {
- executeActionWithDelay(
- () -> startActivity(OnboardingUtils.ONLINE_STORE_INTENT), SHOW_RIPPLE_DURATION_MS);
+ Intent onlineStoreIntent = OnboardingUtils.createOnlineStoreIntent(mUiFlags);
+ if (onlineStoreIntent != null) {
+ executeActionWithDelay(() -> startActivity(onlineStoreIntent), SHOW_RIPPLE_DURATION_MS);
+ } else {
+ Log.w(
+ TAG,
+ "Unable to show merchant collection, more channels url is not valid. url is "
+ + mUiFlags.moreChannelsUrl());
+ }
}
@Override
diff --git a/src/com/android/tv/util/OnboardingUtils.java b/src/com/android/tv/util/OnboardingUtils.java
index 4fae2f00..b1582fc6 100644
--- a/src/com/android/tv/util/OnboardingUtils.java
+++ b/src/com/android/tv/util/OnboardingUtils.java
@@ -20,6 +20,10 @@ import android.content.Context;
import android.content.Intent;
import android.net.Uri;
import android.preference.PreferenceManager;
+import android.support.annotation.Nullable;
+import android.text.TextUtils;
+
+import com.android.tv.common.flags.UiFlags;
/** A utility class related to onboarding experience. */
public final class OnboardingUtils {
@@ -27,13 +31,13 @@ public final class OnboardingUtils {
private static final String PREF_KEY_ONBOARDING_VERSION_CODE = "pref_onbaording_versionCode";
private static final int ONBOARDING_VERSION = 1;
- // Replace as needed
- private static final String MERCHANT_COLLECTION_URL_STRING =
- "https://play.google.com/store/apps/collection/promotion_3001bf9_ATV_livechannels";
-
- /** Intent to show merchant collection in online store. */
- public static final Intent ONLINE_STORE_INTENT =
- new Intent(Intent.ACTION_VIEW, Uri.parse(MERCHANT_COLLECTION_URL_STRING));
+ @Nullable
+ public static Intent createOnlineStoreIntent(UiFlags uiFlags) {
+ String uriString = uiFlags.moreChannelsUrl();
+ return TextUtils.isEmpty(uriString)
+ ? null
+ : new Intent(Intent.ACTION_VIEW, Uri.parse(uriString));
+ }
/** Checks if this is the first boot after the onboarding experience has been applied. */
public static boolean isFirstBoot(Context context) {