diff options
author | Nick Chalko <nchalko@google.com> | 2020-01-24 15:02:50 -0800 |
---|---|---|
committer | Nick Chalko <nchalko@google.com> | 2020-01-24 16:01:53 -0800 |
commit | 205cd95484504ce1b75cbbdb8a0c94eb24c70422 (patch) | |
tree | afc2d4b8071d443f4329dc49a729fabdfdfb5912 /src/com | |
parent | 1bafb626ca838ae6b7c34e2aa9e6dbbfc603aa97 (diff) | |
download | TV-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.java | 12 | ||||
-rw-r--r-- | src/com/android/tv/onboarding/OnboardingActivity.java | 21 | ||||
-rw-r--r-- | src/com/android/tv/setup/SystemSetupActivity.java | 16 | ||||
-rw-r--r-- | src/com/android/tv/util/OnboardingUtils.java | 18 |
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) { |