mirror of
https://github.com/TeamNewPipe/NewPipe
synced 2024-12-23 08:30:44 +00:00
Merged `DrawableResolver
into
ThemeHelper
`
This commit is contained in:
parent
0f551baf37
commit
1dc146322c
@ -75,10 +75,10 @@ import org.schabi.newpipe.local.feed.item.StreamItem
|
|||||||
import org.schabi.newpipe.local.feed.service.FeedLoadService
|
import org.schabi.newpipe.local.feed.service.FeedLoadService
|
||||||
import org.schabi.newpipe.local.subscription.SubscriptionManager
|
import org.schabi.newpipe.local.subscription.SubscriptionManager
|
||||||
import org.schabi.newpipe.util.DeviceUtils
|
import org.schabi.newpipe.util.DeviceUtils
|
||||||
import org.schabi.newpipe.util.DrawableResolver.resolveDrawable
|
|
||||||
import org.schabi.newpipe.util.Localization
|
import org.schabi.newpipe.util.Localization
|
||||||
import org.schabi.newpipe.util.NavigationHelper
|
import org.schabi.newpipe.util.NavigationHelper
|
||||||
import org.schabi.newpipe.util.ThemeHelper.getGridSpanCountStreams
|
import org.schabi.newpipe.util.ThemeHelper.getGridSpanCountStreams
|
||||||
|
import org.schabi.newpipe.util.ThemeHelper.resolveDrawable
|
||||||
import org.schabi.newpipe.util.ThemeHelper.shouldUseGridLayout
|
import org.schabi.newpipe.util.ThemeHelper.shouldUseGridLayout
|
||||||
import java.time.OffsetDateTime
|
import java.time.OffsetDateTime
|
||||||
import java.util.function.Consumer
|
import java.util.function.Consumer
|
||||||
|
@ -2,8 +2,8 @@ package org.schabi.newpipe.player.helper;
|
|||||||
|
|
||||||
import static org.schabi.newpipe.ktx.ViewUtils.animateRotation;
|
import static org.schabi.newpipe.ktx.ViewUtils.animateRotation;
|
||||||
import static org.schabi.newpipe.player.Player.DEBUG;
|
import static org.schabi.newpipe.player.Player.DEBUG;
|
||||||
import static org.schabi.newpipe.util.DrawableResolver.resolveDrawable;
|
|
||||||
import static org.schabi.newpipe.util.Localization.assureCorrectAppLanguage;
|
import static org.schabi.newpipe.util.Localization.assureCorrectAppLanguage;
|
||||||
|
import static org.schabi.newpipe.util.ThemeHelper.resolveDrawable;
|
||||||
|
|
||||||
import android.app.Dialog;
|
import android.app.Dialog;
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
|
@ -1,26 +0,0 @@
|
|||||||
package org.schabi.newpipe.util
|
|
||||||
|
|
||||||
import android.content.Context
|
|
||||||
import android.graphics.drawable.Drawable
|
|
||||||
import android.util.TypedValue
|
|
||||||
import androidx.annotation.AttrRes
|
|
||||||
import androidx.core.content.ContextCompat
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Utility class for resolving [Drawables](Drawable)
|
|
||||||
*/
|
|
||||||
object DrawableResolver {
|
|
||||||
@JvmStatic
|
|
||||||
fun resolveDrawable(context: Context, @AttrRes attrResId: Int): Drawable? {
|
|
||||||
return ContextCompat.getDrawable(
|
|
||||||
context,
|
|
||||||
TypedValue().apply {
|
|
||||||
context.theme.resolveAttribute(
|
|
||||||
attrResId,
|
|
||||||
this,
|
|
||||||
true
|
|
||||||
)
|
|
||||||
}.resourceId
|
|
||||||
)
|
|
||||||
}
|
|
||||||
}
|
|
@ -23,9 +23,11 @@ import android.app.Activity;
|
|||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.content.res.Configuration;
|
import android.content.res.Configuration;
|
||||||
import android.content.res.Resources;
|
import android.content.res.Resources;
|
||||||
|
import android.graphics.drawable.Drawable;
|
||||||
import android.util.TypedValue;
|
import android.util.TypedValue;
|
||||||
|
|
||||||
import androidx.annotation.AttrRes;
|
import androidx.annotation.AttrRes;
|
||||||
|
import androidx.annotation.NonNull;
|
||||||
import androidx.annotation.Nullable;
|
import androidx.annotation.Nullable;
|
||||||
import androidx.annotation.StyleRes;
|
import androidx.annotation.StyleRes;
|
||||||
import androidx.appcompat.app.ActionBar;
|
import androidx.appcompat.app.ActionBar;
|
||||||
@ -227,6 +229,22 @@ public final class ThemeHelper {
|
|||||||
return value.data;
|
return value.data;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Resolves a {@link Drawable} by it's id.
|
||||||
|
*
|
||||||
|
* @param context Context
|
||||||
|
* @param attrResId Resource id
|
||||||
|
* @return the {@link Drawable}
|
||||||
|
*/
|
||||||
|
public static Drawable resolveDrawable(
|
||||||
|
@NonNull final Context context,
|
||||||
|
@AttrRes final int attrResId
|
||||||
|
) {
|
||||||
|
final TypedValue typedValue = new TypedValue();
|
||||||
|
context.getTheme().resolveAttribute(attrResId, typedValue, true);
|
||||||
|
return ContextCompat.getDrawable(context, typedValue.resourceId);
|
||||||
|
}
|
||||||
|
|
||||||
private static String getSelectedThemeKey(final Context context) {
|
private static String getSelectedThemeKey(final Context context) {
|
||||||
final String themeKey = context.getString(R.string.theme_key);
|
final String themeKey = context.getString(R.string.theme_key);
|
||||||
final String defaultTheme = context.getResources().getString(R.string.default_theme_value);
|
final String defaultTheme = context.getResources().getString(R.string.default_theme_value);
|
||||||
|
Loading…
Reference in New Issue
Block a user