Merge commit '5cfb8071da5d2d61a77cb0f87e27cf13ed677912' into HEAD

Change-Id: I75779539cc820f2faf496b76ca597214a99f1d82
This commit is contained in:
Xin Li 2017-11-13 14:35:38 -08:00
commit 5bfd976cfb
4 changed files with 42 additions and 5 deletions

View file

@ -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();

View file

@ -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();
}
}

View file

@ -92,7 +92,7 @@
<item name="android:listPreferredItemPaddingEnd">?attr/suwMarginSides</item>
<item name="android:listPreferredItemPaddingStart">?attr/suwMarginSides</item>
<item name="android:navigationBarColor">@android:color/black</item>
<item name="android:statusBarColor">?android:attr/colorPrimary</item>
<item name="android:statusBarColor">@android:color/transparent</item>
<item name="android:textAppearanceListItem">@style/TextAppearance.SuwGlifItemTitle</item>
<item name="android:textAppearanceListItemSmall">@style/TextAppearance.SuwGlifItemSummary</item>
<item name="android:textColorLink">@color/suw_color_accent_glif_dark</item>
@ -124,7 +124,7 @@
<item name="android:listPreferredItemPaddingEnd">?attr/suwMarginSides</item>
<item name="android:listPreferredItemPaddingStart">?attr/suwMarginSides</item>
<item name="android:navigationBarColor">@android:color/black</item>
<item name="android:statusBarColor">?android:attr/colorPrimary</item>
<item name="android:statusBarColor">@android:color/transparent</item>
<item name="android:textAppearanceListItem">@style/TextAppearance.SuwGlifItemTitle</item>
<item name="android:textAppearanceListItemSmall">@style/TextAppearance.SuwGlifItemSummary</item>
<item name="android:textColorLink">@color/suw_color_accent_glif_light</item>

View file

@ -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);
}
}
}