FloatingActionButton: Make attribute grabbing not be terrible
Signed-off-by: Harsh Shandilya <me@msfjarvis.dev>
This commit is contained in:
parent
32d669a661
commit
4edfdd8f3b
@ -7,6 +7,7 @@
|
||||
package com.wireguard.android.widget.fab;
|
||||
|
||||
import android.content.Context;
|
||||
import android.content.res.Resources;
|
||||
import android.content.res.TypedArray;
|
||||
import android.graphics.*;
|
||||
import android.graphics.Paint.Style;
|
||||
@ -16,9 +17,9 @@ import android.graphics.drawable.ShapeDrawable.ShaderFactory;
|
||||
import android.graphics.drawable.shapes.OvalShape;
|
||||
import android.support.annotation.*;
|
||||
import android.support.v4.content.ContextCompat;
|
||||
import android.support.v7.app.AppCompatDelegate;
|
||||
import android.support.v7.widget.AppCompatImageButton;
|
||||
import android.util.AttributeSet;
|
||||
import android.util.TypedValue;
|
||||
import android.widget.TextView;
|
||||
|
||||
import com.wireguard.android.R;
|
||||
@ -58,14 +59,13 @@ public class FloatingActionButton extends AppCompatImageButton {
|
||||
init(context, attrs);
|
||||
}
|
||||
|
||||
//TODO(msf): make not terrible
|
||||
public static int getColorFromTheme(final Context context, final int themeResource, @ColorRes final int fallback) {
|
||||
TypedArray a = context.getTheme().obtainStyledAttributes(new int[]{themeResource});
|
||||
try {
|
||||
return a.getColor(0, ContextCompat.getColor(context, fallback));
|
||||
} finally {
|
||||
a.recycle();
|
||||
}
|
||||
final TypedValue typedValue = new TypedValue();
|
||||
final Resources.Theme theme = context.getTheme();
|
||||
theme.resolveAttribute(themeResource, typedValue, true);
|
||||
@ColorInt final int color = typedValue.data;
|
||||
return color == 0 ? fallback : color;
|
||||
|
||||
}
|
||||
|
||||
void init(final Context context, final AttributeSet attributeSet) {
|
||||
|
@ -3,6 +3,5 @@
|
||||
<!-- TODO(msf): remove these two hard-coded colors -->
|
||||
<color name="list_item_activated">#cfd8dc</color> <!-- Blue Grey 200 -->
|
||||
<color name="list_item_ripple">#808e95</color> <!-- Blue Grey 200 dark -->
|
||||
|
||||
<!-- TODO(zx2c4): set this once we have a color decided - <color name="accent">#2196F3</color> -->
|
||||
<color name="accent">#2196F3</color>
|
||||
</resources>
|
||||
|
@ -2,7 +2,7 @@
|
||||
<resources xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
|
||||
<style name="AppTheme" parent="Theme.AppCompat.DayNight.DarkActionBar">
|
||||
<!--TODO(zx2c4): set this once we have a color decided: <item name="colorAccent">@color/accent</item>-->
|
||||
<item name="colorAccent">@color/accent</item>
|
||||
</style>
|
||||
|
||||
<style name="SettingsTheme" parent="AppTheme">
|
||||
|
Loading…
Reference in New Issue
Block a user