Merge branch 'master' into fragmented_player
This commit is contained in:
commit
479a7d81cd
5 changed files with 23 additions and 154 deletions
|
|
@ -55,7 +55,7 @@ android {
|
|||
}
|
||||
}
|
||||
compileSdkVersion 23
|
||||
buildToolsVersion '23.0.1'
|
||||
buildToolsVersion '23.0.2'
|
||||
defaultConfig {
|
||||
minSdkVersion 16
|
||||
targetSdkVersion 23
|
||||
|
|
@ -93,23 +93,23 @@ android {
|
|||
|
||||
dependencies {
|
||||
compile fileTree(dir: 'libs', include: ['*.jar'])
|
||||
compile('com.crashlytics.sdk.android:crashlytics:2.5.2@aar') {
|
||||
compile('com.crashlytics.sdk.android:crashlytics:2.5.3@aar') {
|
||||
transitive = true;
|
||||
}
|
||||
compile 'com.android.support:support-v4:23.1.0'
|
||||
compile 'com.android.support:support-v13:23.1.0'
|
||||
compile 'com.android.support:appcompat-v7:23.1.0'
|
||||
compile 'com.android.support:recyclerview-v7:23.1.0'
|
||||
compile 'com.android.support:gridlayout-v7:23.1.0'
|
||||
compile 'com.android.support:cardview-v7:23.1.0'
|
||||
compile 'com.android.support:palette-v7:23.1.0'
|
||||
compile 'com.android.support:design:23.1.0'
|
||||
compile 'com.android.support:support-annotations:23.1.0'
|
||||
compile 'com.android.support:support-v4:23.1.1'
|
||||
compile 'com.android.support:support-v13:23.1.1'
|
||||
compile 'com.android.support:appcompat-v7:23.1.1'
|
||||
compile 'com.android.support:recyclerview-v7:23.1.1'
|
||||
compile 'com.android.support:gridlayout-v7:23.1.1'
|
||||
compile 'com.android.support:cardview-v7:23.1.1'
|
||||
compile 'com.android.support:palette-v7:23.1.1'
|
||||
compile 'com.android.support:design:23.1.1'
|
||||
compile 'com.android.support:support-annotations:23.1.1'
|
||||
|
||||
compile 'com.github.ksoichiro:android-observablescrollview:1.6.0'
|
||||
compile 'asia.ivity.android:drag-sort-listview:1.0'
|
||||
compile 'com.github.semoncat.seekarc:library:0.1'
|
||||
compile 'com.sothree.slidinguppanel:library:3.1.1'
|
||||
compile 'com.sothree.slidinguppanel:library:3.2.0'
|
||||
|
||||
compile 'com.squareup.retrofit:retrofit:2.0.0-beta2'
|
||||
compile 'com.squareup.retrofit:converter-gson:2.0.0-beta2'
|
||||
|
|
@ -117,13 +117,15 @@ dependencies {
|
|||
|
||||
compile 'com.github.kabouzeid:Android-Universal-Image-Loader:8ffb5d4afa'
|
||||
|
||||
compile('com.afollestad.material-dialogs:core:0.8.4.2@aar') {
|
||||
compile('com.afollestad.material-dialogs:core:0.8.5.1@aar') {
|
||||
transitive = true
|
||||
}
|
||||
compile('com.afollestad.material-dialogs:commons:0.8.4.2@aar') {
|
||||
compile('com.afollestad.material-dialogs:commons:0.8.5.1@aar') {
|
||||
transitive = true
|
||||
}
|
||||
compile('com.afollestad:material-cab:0.1.6@aar') {
|
||||
transitive = true
|
||||
}
|
||||
compile 'com.afollestad:material-cab:0.1.5'
|
||||
|
||||
compile 'com.jakewharton:butterknife:7.0.1'
|
||||
|
||||
|
|
|
|||
|
|
@ -154,6 +154,7 @@ public class SettingsActivity extends AbsBaseActivity implements ColorChooserDia
|
|||
new ColorChooserDialog.Builder(((SettingsActivity) getActivity()), R.string.primary_color)
|
||||
.accentMode(false)
|
||||
.allowUserColorInput(true)
|
||||
.allowUserColorInputAlpha(false)
|
||||
.preselect(PreferenceUtil.getInstance(getActivity()).getThemeColorPrimary(getActivity()))
|
||||
.show();
|
||||
return true;
|
||||
|
|
@ -168,6 +169,7 @@ public class SettingsActivity extends AbsBaseActivity implements ColorChooserDia
|
|||
new ColorChooserDialog.Builder(((SettingsActivity) getActivity()), R.string.accent_color)
|
||||
.accentMode(true)
|
||||
.allowUserColorInput(true)
|
||||
.allowUserColorInputAlpha(false)
|
||||
.preselect(PreferenceUtil.getInstance(getActivity()).getThemeColorAccent(getActivity()))
|
||||
.show();
|
||||
return true;
|
||||
|
|
|
|||
|
|
@ -98,7 +98,7 @@ public abstract class AbsThemeActivity extends AppCompatActivity implements KabV
|
|||
taskDescription = new ActivityManager.TaskDescription(
|
||||
null,
|
||||
null,
|
||||
color);
|
||||
ColorUtil.getOpaqueColor(color));
|
||||
setTaskDescription(taskDescription);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -10,9 +10,8 @@ import android.os.Build;
|
|||
import android.support.annotation.ColorInt;
|
||||
import android.support.annotation.NonNull;
|
||||
import android.support.annotation.Nullable;
|
||||
import android.support.v7.internal.view.menu.ListMenuItemView;
|
||||
import android.support.v7.internal.view.menu.MenuPopupHelper;
|
||||
import android.support.v7.widget.ActionMenuPresenter;
|
||||
import android.support.v7.view.menu.ListMenuItemView;
|
||||
import android.support.v7.view.menu.MenuPopupHelper;
|
||||
import android.support.v7.widget.ActionMenuView;
|
||||
import android.support.v7.widget.Toolbar;
|
||||
import android.util.Log;
|
||||
|
|
@ -82,7 +81,7 @@ public class ViewUtil {
|
|||
|
||||
Field f2 = ActionMenuView.class.getDeclaredField("mPresenter");
|
||||
f2.setAccessible(true);
|
||||
ActionMenuPresenter presenter = (ActionMenuPresenter) f2.get(actionMenuView);
|
||||
Object presenter = f2.get(actionMenuView); // ActionMenuPresenter is not a public class, so we use Object here
|
||||
|
||||
Field f3 = presenter.getClass().getDeclaredField("mOverflowPopup");
|
||||
f3.setAccessible(true);
|
||||
|
|
|
|||
|
|
@ -1,134 +0,0 @@
|
|||
package com.kabouzeid.gramophone.views;
|
||||
|
||||
import android.content.Context;
|
||||
import android.content.res.ColorStateList;
|
||||
import android.graphics.Color;
|
||||
import android.graphics.PorterDuff;
|
||||
import android.graphics.drawable.Drawable;
|
||||
import android.support.annotation.NonNull;
|
||||
import android.support.v4.content.ContextCompat;
|
||||
import android.support.v4.graphics.ColorUtils;
|
||||
import android.support.v4.graphics.drawable.DrawableCompat;
|
||||
import android.support.v7.internal.widget.ThemeUtils;
|
||||
import android.support.v7.widget.SwitchCompat;
|
||||
import android.util.AttributeSet;
|
||||
|
||||
import com.afollestad.materialdialogs.internal.ThemeSingleton;
|
||||
import com.kabouzeid.gramophone.R;
|
||||
|
||||
import static android.support.v7.internal.widget.ThemeUtils.getThemeAttrColorStateList;
|
||||
|
||||
/**
|
||||
* @author Karim Abou Zeid (kabouzeid)
|
||||
*/
|
||||
public class DynamicSwitch extends SwitchCompat {
|
||||
static final int[] DISABLED_STATE_SET = new int[]{-android.R.attr.state_enabled};
|
||||
static final int[] CHECKED_STATE_SET = new int[]{android.R.attr.state_checked};
|
||||
static final int[] EMPTY_STATE_SET = new int[0];
|
||||
|
||||
public DynamicSwitch(@NonNull Context context) {
|
||||
super(context);
|
||||
init();
|
||||
}
|
||||
|
||||
public DynamicSwitch(@NonNull Context context, AttributeSet attrs) {
|
||||
super(context, attrs);
|
||||
init();
|
||||
}
|
||||
|
||||
public DynamicSwitch(@NonNull Context context, AttributeSet attrs, int defStyleAttr) {
|
||||
super(context, attrs, defStyleAttr);
|
||||
init();
|
||||
}
|
||||
|
||||
private void init() {
|
||||
final int color = ThemeSingleton.get().positiveColor.getDefaultColor();
|
||||
setTint(this, color);
|
||||
}
|
||||
|
||||
public static void setTint(@NonNull SwitchCompat switchCompat, int color) {
|
||||
ColorStateList trackColorSl = createSwitchTrackColorStateList(switchCompat.getContext(), color);
|
||||
ColorStateList thumbColorSl = createSwitchThumbColorStateList(switchCompat.getContext(), color);
|
||||
|
||||
Drawable thumbDrawable = DrawableCompat.wrap(ContextCompat.getDrawable(switchCompat.getContext(), R.drawable.abc_switch_thumb_material));
|
||||
DrawableCompat.setTintList(thumbDrawable, thumbColorSl);
|
||||
DrawableCompat.setTintMode(thumbDrawable, PorterDuff.Mode.MULTIPLY);
|
||||
switchCompat.setThumbDrawable(thumbDrawable);
|
||||
|
||||
Drawable trackDrawable = DrawableCompat.wrap(ContextCompat.getDrawable(switchCompat.getContext(), R.drawable.abc_switch_track_mtrl_alpha));
|
||||
DrawableCompat.setTintList(trackDrawable, trackColorSl);
|
||||
switchCompat.setTrackDrawable(trackDrawable);
|
||||
}
|
||||
|
||||
@NonNull
|
||||
private static ColorStateList createSwitchTrackColorStateList(@NonNull Context context, int colorActivated) {
|
||||
final int[][] states = new int[3][];
|
||||
final int[] colors = new int[3];
|
||||
int i = 0;
|
||||
|
||||
// Disabled state
|
||||
states[i] = DISABLED_STATE_SET;
|
||||
colors[i] = getColorWithMultipliedAlpha(ThemeUtils.getThemeAttrColor(context, android.R.attr.colorForeground), 0.1f);
|
||||
i++;
|
||||
|
||||
states[i] = CHECKED_STATE_SET;
|
||||
colors[i] = getColorWithMultipliedAlpha(colorActivated, 0.3f);
|
||||
i++;
|
||||
|
||||
// Default enabled state
|
||||
states[i] = EMPTY_STATE_SET;
|
||||
colors[i] = getColorWithMultipliedAlpha(ThemeUtils.getThemeAttrColor(context, android.R.attr.colorForeground), 0.3f);
|
||||
|
||||
return new ColorStateList(states, colors);
|
||||
}
|
||||
|
||||
@NonNull
|
||||
private static ColorStateList createSwitchThumbColorStateList(@NonNull Context context, int colorActivated) {
|
||||
final int[][] states = new int[3][];
|
||||
final int[] colors = new int[3];
|
||||
int i = 0;
|
||||
|
||||
final ColorStateList thumbColor = getThemeAttrColorStateList(context,
|
||||
android.support.v7.appcompat.R.attr.colorSwitchThumbNormal);
|
||||
|
||||
if (thumbColor != null && thumbColor.isStateful()) {
|
||||
// If colorSwitchThumbNormal is a valid ColorStateList, extract the default and
|
||||
// disabled colors from it
|
||||
|
||||
// Disabled state
|
||||
states[i] = DISABLED_STATE_SET;
|
||||
colors[i] = thumbColor.getColorForState(states[i], 0);
|
||||
i++;
|
||||
|
||||
states[i] = CHECKED_STATE_SET;
|
||||
colors[i] = colorActivated;
|
||||
i++;
|
||||
|
||||
// Default enabled state
|
||||
states[i] = EMPTY_STATE_SET;
|
||||
colors[i] = thumbColor.getDefaultColor();
|
||||
} else {
|
||||
// Else we'll use an approximation using the default disabled alpha
|
||||
|
||||
// Disabled state
|
||||
states[i] = DISABLED_STATE_SET;
|
||||
colors[i] = ThemeUtils.getDisabledThemeAttrColor(context, android.support.v7.appcompat.R.attr.colorSwitchThumbNormal);
|
||||
i++;
|
||||
|
||||
states[i] = CHECKED_STATE_SET;
|
||||
colors[i] = colorActivated;
|
||||
i++;
|
||||
|
||||
// Default enabled state
|
||||
states[i] = EMPTY_STATE_SET;
|
||||
colors[i] = ThemeUtils.getThemeAttrColor(context, android.support.v7.appcompat.R.attr.colorSwitchThumbNormal);
|
||||
}
|
||||
|
||||
return new ColorStateList(states, colors);
|
||||
}
|
||||
|
||||
private static int getColorWithMultipliedAlpha(int color, float alpha) {
|
||||
final int originalAlpha = Color.alpha(color);
|
||||
return ColorUtils.setAlphaComponent(color, Math.round(originalAlpha * alpha));
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue