diff --git a/library/main/src/com/android/setupwizardlib/util/Partner.java b/library/main/src/com/android/setupwizardlib/util/Partner.java index d6e4919..67f5546 100644 --- a/library/main/src/com/android/setupwizardlib/util/Partner.java +++ b/library/main/src/com/android/setupwizardlib/util/Partner.java @@ -26,6 +26,9 @@ import android.content.res.Resources; import android.graphics.drawable.Drawable; import android.os.Build.VERSION; import android.os.Build.VERSION_CODES; +import android.support.annotation.AnyRes; +import android.support.annotation.DrawableRes; +import android.support.annotation.StringRes; import android.support.annotation.VisibleForTesting; import android.util.Log; @@ -56,7 +59,7 @@ public class Partner { * * @see #getResourceEntry(android.content.Context, int) */ - public static Drawable getDrawable(Context context, int id) { + public static Drawable getDrawable(Context context, @DrawableRes int id) { final ResourceEntry entry = getResourceEntry(context, id); return entry.resources.getDrawable(entry.id); } @@ -67,11 +70,20 @@ public class Partner { * * @see #getResourceEntry(android.content.Context, int) */ - public static String getString(Context context, int id) { + public static String getString(Context context, @StringRes int id) { final ResourceEntry entry = getResourceEntry(context, id); return entry.resources.getString(entry.id); } + /** + * Convenience method to get a CharSequence from partner overlay, or if not available, the text + * from the original context. + */ + public static CharSequence getText(Context context, @StringRes int id) { + final ResourceEntry entry = getResourceEntry(context, id); + return entry.resources.getText(id); + } + /** * Find an entry of resource in the overlay package provided by partners. It will first look for * the resource in the overlay package, and if not available, will return the one in the @@ -82,7 +94,7 @@ public class Partner { * {@code entry.resources.getString(entry.id)}, or other methods available in * {@link android.content.res.Resources}. */ - public static ResourceEntry getResourceEntry(Context context, int id) { + public static ResourceEntry getResourceEntry(Context context, @AnyRes int id) { final Partner partner = Partner.get(context); if (partner != null) { final Resources ourResources = context.getResources(); diff --git a/library/main/src/com/android/setupwizardlib/view/IllustrationVideoView.java b/library/main/src/com/android/setupwizardlib/view/IllustrationVideoView.java index 9f1d2e7..9c79eb5 100644 --- a/library/main/src/com/android/setupwizardlib/view/IllustrationVideoView.java +++ b/library/main/src/com/android/setupwizardlib/view/IllustrationVideoView.java @@ -233,4 +233,8 @@ public class IllustrationVideoView extends TextureView implements Animatable, public void onSeekComplete(MediaPlayer mp) { mp.start(); } + + public int getCurrentPosition() { + return mMediaPlayer == null ? 0 : mMediaPlayer.getCurrentPosition(); + } } diff --git a/library/platform/res/values-v23/styles.xml b/library/platform/res/values-v23/styles.xml index 2eb5caf..9fff5f1 100644 --- a/library/platform/res/values-v23/styles.xml +++ b/library/platform/res/values-v23/styles.xml @@ -92,7 +92,7 @@ ?attr/suwMarginSides ?attr/suwMarginSides @android:color/black - ?android:attr/colorPrimary + @android:color/transparent @style/TextAppearance.SuwGlifItemTitle @style/TextAppearance.SuwGlifItemSummary @color/suw_color_accent_glif_dark @@ -124,7 +124,7 @@ ?attr/suwMarginSides ?attr/suwMarginSides @android:color/black - ?android:attr/colorPrimary + @android:color/transparent @style/TextAppearance.SuwGlifItemTitle @style/TextAppearance.SuwGlifItemSummary @color/suw_color_accent_glif_light diff --git a/library/test/robotest/src/com/android/setupwizardlib/util/GlifStyleTest.java b/library/test/robotest/src/com/android/setupwizardlib/util/GlifStyleTest.java index e4e311f..aea2c03 100644 --- a/library/test/robotest/src/com/android/setupwizardlib/util/GlifStyleTest.java +++ b/library/test/robotest/src/com/android/setupwizardlib/util/GlifStyleTest.java @@ -20,9 +20,13 @@ import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNull; import static org.robolectric.RuntimeEnvironment.application; +import android.annotation.TargetApi; +import android.app.Activity; import android.content.Context; import android.os.Build.VERSION; import android.os.Build.VERSION_CODES; +import android.os.Bundle; +import android.support.annotation.Nullable; import android.view.ContextThemeWrapper; import android.widget.Button; @@ -63,4 +67,21 @@ public class GlifStyleTest { assertEquals("ff4285f4", Integer.toHexString(button.getTextColors().getDefaultColor())); } } + + @TargetApi(VERSION_CODES.LOLLIPOP) + @Config(sdk = Config.NEWEST_SDK) + @Test + public void glifThemeLight_statusBarColorShouldBeTransparent() { + GlifThemeActivity activity = Robolectric.setupActivity(GlifThemeActivity.class); + assertEquals(0x00000000, activity.getWindow().getStatusBarColor()); + } + + private static class GlifThemeActivity extends Activity { + + @Override + protected void onCreate(@Nullable Bundle savedInstanceState) { + setTheme(R.style.SuwThemeGlif_Light); + super.onCreate(savedInstanceState); + } + } }